cue: support multierror return from Unify
Also fixes:
- file naming issue in Marshalling, which was not
relative to the module root, if available.
- gocode generated output was not checked
against golden (which was only used in gen_test.go)
Change-Id: I6a5f5363e2d0656ef3935fc46f84444ccbdd9a3e
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/2942
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/encoding/gocode/generator_test.go b/encoding/gocode/generator_test.go
index 70e0aa8..a4ad90a 100644
--- a/encoding/gocode/generator_test.go
+++ b/encoding/gocode/generator_test.go
@@ -26,6 +26,7 @@
"cuelang.org/go/cue"
"cuelang.org/go/cue/errors"
"cuelang.org/go/cue/load"
+ "github.com/kylelemons/godebug/diff"
)
var update = flag.Bool("update", false, "update test files")
@@ -62,13 +63,21 @@
if err != nil {
t.Fatal(errStr(err))
}
- // t.Log(string(b))
goFile := filepath.Join("testdata", d.Name(), "cue_gen.go")
if *update {
_ = ioutil.WriteFile(goFile, b, 0644)
return
}
+
+ want, err := ioutil.ReadFile(goFile)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if d := diff.Diff(string(want), string(b)); d != "" {
+ t.Errorf("files differ:\n%v", d)
+ }
})
}
}