...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package builtintest
16
17 import (
18 "fmt"
19 "testing"
20
21 "cuelang.org/go/cue/format"
22 "cuelang.org/go/internal/core/eval"
23 "cuelang.org/go/internal/core/export"
24 "cuelang.org/go/internal/core/runtime"
25 "cuelang.org/go/internal/core/validate"
26 "cuelang.org/go/internal/cuetxtar"
27 )
28
29 func Run(name string, t *testing.T) {
30 test := cuetxtar.TxTarTest{
31 Root: "./testdata",
32 Name: name,
33 }
34
35 r := runtime.New()
36
37 test.Run(t, func(t *cuetxtar.Test) {
38 a := t.Instance()
39
40 v, errs := r.Build(nil, a)
41 if errs != nil {
42 t.Fatal(errs)
43 }
44
45 e := eval.New(r)
46 ctx := e.NewContext(v)
47 v.Finalize(ctx)
48
49 if b := validate.Validate(ctx, v, &validate.Config{
50 AllErrors: true,
51 }); b != nil {
52 fmt.Fprintln(t, "Errors:")
53 t.WriteErrors(b.Err)
54 fmt.Fprintln(t, "")
55 fmt.Fprintln(t, "Result:")
56 }
57
58 p := export.All
59 p.ShowErrors = true
60
61 files, errs := p.Vertex(r, test.Name, v)
62 if errs != nil {
63 t.Fatal(errs)
64 }
65
66 b, err := format.Node(files)
67 if err != nil {
68 t.Fatal(err)
69 }
70
71 fmt.Fprint(t, string(b))
72 })
73 }
74
View as plain text