]> Cypherpunks repositories - gostls13.git/commitdiff
- update functionality for printer test
authorRobert Griesemer <gri@golang.org>
Wed, 8 Jul 2009 21:57:51 +0000 (14:57 -0700)
committerRobert Griesemer <gri@golang.org>
Wed, 8 Jul 2009 21:57:51 +0000 (14:57 -0700)
- moved test files from data to testdata
- use tabs instead of spaces for layout

R=rsc
DELTA=129  (67 added, 60 deleted, 2 changed)
OCL=31353
CL=31360

src/pkg/go/printer/data/golden1.go [deleted file]
src/pkg/go/printer/printer_test.go
src/pkg/go/printer/testdata/golden1.go [new file with mode: 0644]
src/pkg/go/printer/testdata/golden1.x [moved from src/pkg/go/printer/data/golden1.x with 100% similarity]
src/pkg/go/printer/testdata/source1.go [moved from src/pkg/go/printer/data/source1.go with 100% similarity]

diff --git a/src/pkg/go/printer/data/golden1.go b/src/pkg/go/printer/data/golden1.go
deleted file mode 100644 (file)
index 9920502..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-package main
-
-import  "fmt" // fmt
-
-const c0 = 0 // zero
-
-const (
-    c1  = iota; // c1
-    c2  // c2
-)
-
-type T struct {
-    a, b, c int // 3 fields
-}
-
-var x int // x
-
-var ()
-
-func f0() {
-    const pi = 3.14;
-    var s1 struct {}
-    var s2 struct {} = struct {}{};
-    x := pi
-}
index 421589a1619ddc55e44d40f51c6b707f66051915..8390909294ad38f01dfc9fd8afcadcdf411bf705 100644 (file)
@@ -6,6 +6,7 @@ package printer
 
 import (
        "bytes";
+       "flag";
        "io";
        "go/ast";
        "go/parser";
@@ -18,12 +19,16 @@ import (
 
 
 const (
+       dataDir = "testdata";
        tabwidth = 4;
        padding = 1;
-       tabchar = ' ';
+       tabchar = '\t';
 )
 
 
+var update = flag.Bool("update", false, "update golden files");
+
+
 func lineString(text []byte, i int) string {
        i0 := i;
        for i < len(text) && text[i] != '\n' {
@@ -60,6 +65,14 @@ func check(t *testing.T, source, golden string, exports bool) {
        w.Flush();
        res := buf.Data();
 
+       // update golden files if necessary
+       if *update {
+               if err := io.WriteFile(golden, res, 0644); err != nil {
+                       t.Error(err);
+               }
+               return;
+       }
+
        // get golden
        gld, err := io.ReadFile(golden);
        if err != nil {
@@ -89,18 +102,12 @@ func check(t *testing.T, source, golden string, exports bool) {
 }
 
 
-const dataDir = "data";
-
 type entry struct {
        source, golden string;
        exports bool;
 }
 
-// Use gofmt to create/update the respective golden files:
-//
-//   gofmt source.go > golden.go
-//   gofmt -x source.go > golden.x
-//
+// Use gotest -update to create/update the respective golden files.
 var data = []entry{
        entry{ "source1.go", "golden1.go", false },
        entry{ "source1.go", "golden1.x", true },
diff --git a/src/pkg/go/printer/testdata/golden1.go b/src/pkg/go/printer/testdata/golden1.go
new file mode 100644 (file)
index 0000000..f8fb945
--- /dev/null
@@ -0,0 +1,25 @@
+package main
+
+import         "fmt"   // fmt
+
+const c0       = 0     // zero
+
+const (
+       c1      = iota; // c1
+       c2      // c2
+)
+
+type T struct {
+       a, b, c int     // 3 fields
+}
+
+var x int      // x
+
+var ()
+
+func f0() {
+       const pi        = 3.14;
+       var s1 struct {}
+       var s2 struct {}        = struct {}{};
+       x := pi
+}