aboutsummaryrefslogtreecommitdiff
path: root/tests/directive/run.test
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-04-26 15:00:52 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-04-26 15:00:52 +0200
commit0f26bc3b825a8711a4f8c60b5ab746cba9d93bd7 (patch)
tree4ec176df12071bd43633a95af145dde20aad2899 /tests/directive/run.test
parentf98262e37f608330fcfce799dcacc6fbacac8f8a (diff)
Implement run buildfile directive
Now we can do: run echo 'foo = bar' print $foo
Diffstat (limited to 'tests/directive/run.test')
-rw-r--r--tests/directive/run.test36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/directive/run.test b/tests/directive/run.test
new file mode 100644
index 0000000..a6573f2
--- /dev/null
+++ b/tests/directive/run.test
@@ -0,0 +1,36 @@
+# file : tests/directive/run.test
+# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+# license : MIT; see accompanying LICENSE file
+
+# We are going to run the build system driver so no cross-testing.
+#
+crosstest = false
+
+.include ../common.test
+
+: no-output
+:
+cat <'assert true' >=buildfile;
+$* <"run $0 noop"
+
+: output
+:
+cat <'print foo=bar' >=buildfile;
+$* <<"EOI" >'bar'
+run $0 noop
+print \$foo
+EOI
+
+: bad-exit
+:
+cat <'assert false' >=buildfile;
+$* <"run $0 noop" 2>>EOE != 0
+buildfile:1:1: error: assertion failed
+EOE
+
+: bad-output
+:
+cat <'print run' >=buildfile;
+$* <"run $0 noop" 2>>~%EOE% != 0
+%-:1:5: \(.+ stdout\):1:4: error: executable name expected after run%
+EOE