MCPcopy
hub / github.com/expr-lang/expr / TestGenerated

Function TestGenerated

test/gen/gen_test.go:16–66  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

14var updateFlag = flag.Bool("update", false, "Drop failing lines from examples.txt")
15
16func TestGenerated(t *testing.T) {
17 flag.Parse()
18
19 b, err := os.ReadFile("../../testdata/generated.txt")
20 require.NoError(t, err)
21
22 examples := strings.TrimSpace(string(b))
23 var validLines []string
24
25 for _, line := range strings.Split(examples, "\n") {
26 line := line
27 t.Run(line, func(t *testing.T) {
28 program, err := expr.Compile(line, expr.Env(Env))
29 if err != nil {
30 if !*updateFlag {
31 t.Errorf("Compilation failed: %v", err)
32 }
33 return
34 }
35
36 _, err = expr.Run(program, Env)
37 if err != nil {
38 if !*updateFlag {
39 t.Errorf("Execution failed: %v", err)
40 }
41 return
42 }
43
44 validLines = append(validLines, line)
45 })
46 }
47
48 if *updateFlag {
49 file, err := os.Create("../../testdata/examples.txt")
50 if err != nil {
51 t.Fatalf("Failed to update examples.txt: %v", err)
52 }
53 defer func(file *os.File) {
54 _ = file.Close()
55 }(file)
56
57 writer := bufio.NewWriter(file)
58 for _, line := range validLines {
59 _, err := writer.WriteString(line + "\n")
60 if err != nil {
61 t.Fatalf("Failed to write to examples.txt: %v", err)
62 }
63 }
64 _ = writer.Flush()
65 }
66}

Callers

nothing calls this directly

Calls 9

NoErrorFunction · 0.92
CompileFunction · 0.92
EnvStruct · 0.92
RunFunction · 0.92
ParseMethod · 0.80
SplitMethod · 0.80
RunMethod · 0.80
CloseMethod · 0.80
ErrorfMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…