From 0f26bc3b825a8711a4f8c60b5ab746cba9d93bd7 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 26 Apr 2018 15:00:52 +0200 Subject: Implement run buildfile directive Now we can do: run echo 'foo = bar' print $foo --- tests/directive/run.test | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 tests/directive/run.test (limited to 'tests/directive') 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 -- cgit v1.1