MCPcopy
hub / github.com/grafana/tempo / TestExamples

Function TestExamples

pkg/traceql/ast_validate_test.go:21–77  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

19}
20
21func TestExamples(t *testing.T) {
22 b, err := os.ReadFile(testExamplesFile)
23 require.NoError(t, err)
24
25 queries := &TestQueries{}
26 err = yaml.Unmarshal(b, queries)
27 require.NoError(t, err)
28
29 for _, q := range queries.Valid {
30 t.Run("valid - "+q, func(t *testing.T) {
31 p, err := Parse(q)
32 require.NoError(t, err)
33 err = p.validate()
34 require.NoError(t, err)
35 })
36 }
37
38 for _, q := range queries.ParseFails {
39 t.Run("parse fails - "+q, func(t *testing.T) {
40 _, err := Parse(q)
41 require.Error(t, err)
42 })
43 }
44
45 for _, q := range queries.ValidateFails {
46 t.Run("validate fails - "+q, func(t *testing.T) {
47 p, err := Parse(q)
48 require.NoError(t, err)
49 err = p.validate()
50 require.Error(t, err)
51 var unErr *unsupportedError
52 require.False(t, errors.As(err, &unErr))
53 })
54 }
55
56 for _, q := range queries.Unsupported {
57 t.Run("unsupported - "+q, func(t *testing.T) {
58 p, err := Parse(q)
59 require.NoError(t, err)
60 err = p.validate()
61 require.Error(t, err)
62 var unErr *unsupportedError
63 require.True(t, errors.As(err, &unErr))
64 })
65 }
66
67 scs := spew.ConfigState{DisableMethods: true, Indent: " "}
68 for _, q := range queries.Dump {
69 t.Run("dump - "+q, func(t *testing.T) {
70 yyDebug = 3
71 p, err := Parse(q)
72 yyDebug = 0
73 require.NoError(t, err)
74 scs.Dump(p)
75 })
76 }
77}

Callers

nothing calls this directly

Calls 5

ParseFunction · 0.85
UnmarshalMethod · 0.65
validateMethod · 0.65
ErrorMethod · 0.65
RunMethod · 0.45

Tested by

no test coverage detected