cmd/cue: fix bug in -o, which would not write files for some commands
Fixes #802
Change-Id: I297adad9265f6731ee4847f76bc6e9160606a5f5
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/9067
Reviewed-by: CUE cueckoo <cueckoo@gmail.com>
Reviewed-by: Paul Jolly <paul@myitcv.org.uk>
diff --git a/cmd/cue/cmd/def.go b/cmd/cue/cmd/def.go
index 5b7040d..9173ceb 100644
--- a/cmd/cue/cmd/def.go
+++ b/cmd/cue/cmd/def.go
@@ -71,5 +71,9 @@
exitOnErr(cmd, err, true)
}
exitOnErr(cmd, iter.err(), true)
+
+ err = e.Close()
+ exitOnErr(cmd, err, true)
+
return nil
}
diff --git a/cmd/cue/cmd/eval.go b/cmd/cue/cmd/eval.go
index 8cb676a..244f053 100644
--- a/cmd/cue/cmd/eval.go
+++ b/cmd/cue/cmd/eval.go
@@ -160,5 +160,9 @@
}
}
exitOnErr(cmd, iter.err(), true)
+
+ err = e.Close()
+ exitOnErr(cmd, err, true)
+
return nil
}
diff --git a/cmd/cue/cmd/testdata/script/def_openapi.txt b/cmd/cue/cmd/testdata/script/def_openapi.txt
index 1cf3ab7..69b3e10 100644
--- a/cmd/cue/cmd/testdata/script/def_openapi.txt
+++ b/cmd/cue/cmd/testdata/script/def_openapi.txt
@@ -1,3 +1,6 @@
+cue def foo.cue -o openapi+cue:out.cue
+cmp out.cue expect-out.cue
+
cue def openapi+cue: expect-cue-out -o -
cue def foo.cue -o openapi:-
@@ -275,3 +278,30 @@
b: uint & <10
...
}
+-- expect-out.cue --
+openapi: "3.0.0"
+info: {
+ title: "Some clever title."
+ version: "v1"
+}
+paths: {}
+components: schemas: {
+ Bar: {
+ type: "object"
+ required: ["foo"]
+ properties: foo: $ref: "#/components/schemas/Foo"
+ }
+ Foo: {
+ type: "object"
+ required: ["a", "b"]
+ properties: {
+ a: type: "integer"
+ b: {
+ type: "integer"
+ minimum: 0
+ maximum: 10
+ exclusiveMaximum: true
+ }
+ }
+ }
+}
diff --git a/cmd/cue/cmd/testdata/script/eval_newline.txt b/cmd/cue/cmd/testdata/script/eval_newline.txt
index 948efe7..55fd488 100644
--- a/cmd/cue/cmd/testdata/script/eval_newline.txt
+++ b/cmd/cue/cmd/testdata/script/eval_newline.txt
@@ -1,6 +1,12 @@
cue eval ./data.cue
cmp stdout expect-stdout
+
+cue eval ./data.cue -o out.cue
+cmp out.cue expect-out.cue
+
-- data.cue --
3
-- expect-stdout --
3
+-- expect-out.cue --
+3