From f91468192ad7066a5e6fa63ddc4e4231e632a457 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 18 Nov 2020 12:51:49 +0300 Subject: Remove target files on ad hoc rule update buildscript error --- tests/recipe/buildscript/testscript | 73 ++++++++++++++++++++++++++++++------- 1 file changed, 60 insertions(+), 13 deletions(-) (limited to 'tests/recipe/buildscript/testscript') diff --git a/tests/recipe/buildscript/testscript b/tests/recipe/buildscript/testscript index 787bafd..6b3f6c7 100644 --- a/tests/recipe/buildscript/testscript +++ b/tests/recipe/buildscript/testscript @@ -17,24 +17,71 @@ : update : { - echo 'bar' >=bar; + : success + : + { + echo 'bar' >=bar; - cat <=buildfile; - foo: bar - {{ - cp $path($<) $path($>) - }} - EOI + cat <=buildfile; + foo: bar + {{ + cp $path($<) $path($>) + }} + EOI - $* 2>'cp file{foo}'; + $* 2>'cp file{foo}'; - cat <<'bar'; + cat <<'bar'; - # While at it, make sure there is no rebuild. - # - $* 2>/'info: dir{./} is up to date'; + # While at it, make sure there is no rebuild. + # + $* 2>/'info: dir{./} is up to date'; - $* clean 2>- + $* clean 2>- + } + + : error + : + : Test that the target file is removed on error and is created on subsequent + : successful update. + : + { + echo 'bar' >=bar; + + cat <=buildfile; + foo: bar + {{ + diag concat $< + + t = $path($>) + p = $path($<) + + cp $p $t + + cat $(p).baz >>$t + }} + EOI + + $* 2>>~%EOE% != 0; + concat file{bar.} + %cat: unable to print '.+bar.baz': .+% + buildfile:10:3: error: cat exited with code 1 + %.+ + EOE + + test -f foo != 0; + + echo 'baz' >=bar.baz; + + $* 2>'concat file{bar.}'; + + cat <<>EOO; + bar + baz + EOO + + $* clean 2>- + } } : clean -- cgit v1.1