# file : libbuild2/build/script/parser+body.test.testscript # license : MIT; see accompanying LICENSE file test.options += -b : lines : $* <<EOI >>EOO s = 'foo' if echo "$s" | sed 's/o/a/p' >>>? 'bar' f = 'baz' else f = 'fox' end depdb clear depdb string "$s" depdb hash "$f" foo "$s" "$f" EOI foo "$s" "$f" EOO : temp_dir : { test.options += -t : no : $* <<EOI >false foo EOI : yes : $* <<EOI >true foo f = $~/f EOI : preamble-no : $* <<EOI >false f1 = $~/f2 depdb string "$f1" f2 = $~/f3 depdb string "$f2" foo "$f1" "$f2" EOI : preamble-yes : $* <<EOI >true f1 = $~/f1 depdb string "$f1" f2 = $~/f2 foo "$f2" EOI } : command : $* <<EOF >>EOF foo >| 2>- &a &?b foo >=c 2>~/error:.*/ &!c foo >>:/~%EOS% %.* abc %xyz.*% EOS EOF : if-else : $* <<EOF >>EOF if foo bar elif fox if fix baz end biz end if! foo bar elif! fox baz end EOF : quoting : $* <<EOI >>EOO foo 'bar' "baz" '' "" "$foo" "foo$bar" "fo"o "foo"\" "foo\\" "foo\"<" fo\"o fo\\o fo\<o "fo<o" 'fo\"o' f"oo" "ba"r f"oo" 'ba'r "fo"'o' 'foo b"ar baz' EOI foo 'bar' "baz" '' "" "$foo" "foo$bar" "foo" "foo\"" "foo\\" "foo\"<" fo\"o fo\\o fo\<o "fo<o" 'fo\"o' "foo bar" "foo" 'bar' "foo" 'foo b"ar baz' EOO : no-newline : $* <:'foo' 2>>EOE != 0 buildfile:11:4: error: expected newline instead of <end of file> EOE