aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/ast/parser_test.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-08-27 15:08:11 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-08-27 15:28:49 +0200
commite2ffb4fc9111e28f1d8e0e987cb06172cbbd4e84 (patch)
tree8dc4d76063e3430321622cd81763a95a972f2e3a /pkg/ast/parser_test.go
parente71c87fbf52c83d8e514e4685d40da4d4d0f1a1c (diff)
pkg/compiler: move more const-processing code to compiler
Diffstat (limited to 'pkg/ast/parser_test.go')
-rw-r--r--pkg/ast/parser_test.go56
1 files changed, 29 insertions, 27 deletions
diff --git a/pkg/ast/parser_test.go b/pkg/ast/parser_test.go
index 809a0beaf..84a5fedf0 100644
--- a/pkg/ast/parser_test.go
+++ b/pkg/ast/parser_test.go
@@ -27,35 +27,37 @@ func TestParseAll(t *testing.T) {
if err != nil {
t.Fatalf("failed to read file: %v", err)
}
- errorHandler := func(pos Pos, msg string) {
- t.Fatalf("%v:%v:%v: %v", pos.File, pos.Line, pos.Col, msg)
- }
- desc := Parse(data, file.Name(), errorHandler)
- if desc == nil {
- t.Fatalf("parsing failed, but no error produced")
- }
- data2 := Format(desc)
- desc2 := Parse(data2, file.Name(), errorHandler)
- if desc2 == nil {
- t.Fatalf("parsing failed, but no error produced")
- }
- if len(desc.Nodes) != len(desc2.Nodes) {
- t.Fatalf("formatting number of top level decls: %v/%v",
- len(desc.Nodes), len(desc2.Nodes))
- }
- for i := range desc.Nodes {
- n1, n2 := desc.Nodes[i], desc2.Nodes[i]
- if n1 == nil {
- t.Fatalf("got nil node")
+ t.Run(file.Name(), func(t *testing.T) {
+ eh := func(pos Pos, msg string) {
+ t.Fatalf("%v:%v:%v: %v", pos.File, pos.Line, pos.Col, msg)
}
- if !reflect.DeepEqual(n1, n2) {
- t.Fatalf("formatting changed code:\n%#v\nvs:\n%#v", n1, n2)
+ desc := Parse(data, file.Name(), eh)
+ if desc == nil {
+ t.Fatalf("parsing failed, but no error produced")
}
- }
- data3 := Format(Clone(desc))
- if !bytes.Equal(data, data3) {
- t.Fatalf("Clone lost data")
- }
+ data2 := Format(desc)
+ desc2 := Parse(data2, file.Name(), eh)
+ if desc2 == nil {
+ t.Fatalf("parsing failed, but no error produced")
+ }
+ if len(desc.Nodes) != len(desc2.Nodes) {
+ t.Fatalf("formatting number of top level decls: %v/%v",
+ len(desc.Nodes), len(desc2.Nodes))
+ }
+ for i := range desc.Nodes {
+ n1, n2 := desc.Nodes[i], desc2.Nodes[i]
+ if n1 == nil {
+ t.Fatalf("got nil node")
+ }
+ if !reflect.DeepEqual(n1, n2) {
+ t.Fatalf("formatting changed code:\n%#v\nvs:\n%#v", n1, n2)
+ }
+ }
+ data3 := Format(Clone(desc))
+ if !bytes.Equal(data, data3) {
+ t.Fatalf("Clone lost data")
+ }
+ })
}
}