(t *testing.T)
| 591 | } |
| 592 | |
| 593 | func TestParseInvalidPrograms(t *testing.T) { |
| 594 | if *parserTestDebug { |
| 595 | mtailDebug = 3 |
| 596 | } |
| 597 | for _, tc := range parserInvalidPrograms { |
| 598 | tc := tc |
| 599 | t.Run(tc.name, func(t *testing.T) { |
| 600 | p := newParser(tc.name, strings.NewReader(tc.program)) |
| 601 | mtailParse(p) |
| 602 | |
| 603 | testutil.ExpectNoDiff(t, |
| 604 | strings.Join(tc.errors, "\n"), // want |
| 605 | strings.TrimRight(p.errors.Error(), "\n")) // got |
| 606 | if p.errors.Error() == "no errors" && *parserTestDebug { |
| 607 | s := Sexp{} |
| 608 | t.Log("AST:\n" + s.Dump(p.root)) |
| 609 | } |
| 610 | }) |
| 611 | } |
| 612 | } |
| 613 | |
| 614 | var parsePositionTests = []struct { |
| 615 | name string |
nothing calls this directly
no test coverage detected