MCPcopy Create free account
hub / github.com/ajitpratap0/GoSQLX / parseExpectError

Function parseExpectError

pkg/sql/parser/uat_bugs_test.go:43–61  ·  view source on GitHub ↗

--------------------------------------------------------------------------- Bug 1 - Error positions (HIGH) Every parser error used to say "line 0, column 0" regardless of position. ParseFromModelTokens now uses convertModelTokensWithPositions internally. ---------------------------------------------

(t *testing.T, sql string)

Source from the content-addressed store, hash-verified

41// parseExpectError is a test helper that tokenises + parses and expects an
42// error to be returned.
43func parseExpectError(t *testing.T, sql string) error {
44 t.Helper()
45 tkz := tokenizer.GetTokenizer()
46 defer tokenizer.PutTokenizer(tkz)
47
48 tokens, err := tkz.Tokenize([]byte(sql))
49 if err != nil {
50 t.Fatalf("tokenize unexpectedly failed: %v", err)
51 }
52
53 p := parser.GetParser()
54 defer parser.PutParser(p)
55
56 _, parseErr := p.ParseFromModelTokens(tokens)
57 if parseErr == nil {
58 t.Fatalf("expected parse error, but SQL parsed successfully: %s", sql)
59 }
60 return parseErr
61}
62
63func TestBug1_ErrorPositionNonZeroOnSimpleSyntaxError(t *testing.T) {
64 // "SELECT FROM users" – missing column list; error should be on line 1 at col > 0

Calls 8

GetTokenizerFunction · 0.92
PutTokenizerFunction · 0.92
GetParserFunction · 0.92
PutParserFunction · 0.92
TokenizeMethod · 0.80
ParseFromModelTokensMethod · 0.80
HelperMethod · 0.65
FatalfMethod · 0.65

Tested by

no test coverage detected