diff options
Diffstat (limited to 'tests/update.testscript')
-rw-r--r-- | tests/update.testscript | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/tests/update.testscript b/tests/update.testscript new file mode 100644 index 0000000..947abab --- /dev/null +++ b/tests/update.testscript @@ -0,0 +1,91 @@ +# file : tests/update.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +# Here we test both update and clean commands. +# + +.include common.testscript + +cxx = cc config.cxx="$recall($cxx.path)" + +new += 2>! +init += $cxx -d prj 2>! +deinit += -d prj + +: single-pkg-cfg +: +{ + $new -C @cfg prj $cxx &prj/*** &prj-cfg/***; + + $* -d prj 2>>~%EOE%; + %(mkdir|c\+\+|ld) .+%{3} + EOE + + $clean -d prj 2>>~%EOE%; + %rm .+%{3} + EOE + + $deinit 2>>/"EOE" + deinitializing in project $~/prj/ + synchronizing: + drop prj + EOE +} + +: multi-pkg-cfg +: +{ + $new -t empty prj &prj/***; + + $new --package pkg1 -d prj; + $new --package pkg2 -d prj; + + $init -C @cfg1 &prj-cfg1/***; + $init -C @cfg2 &prj-cfg2/***; + + # Update. + # + $* -d prj/pkg1 2>>~%EOE%; # Default (cfg1). + %(mkdir|c\+\+|ld) .+%{3} + EOE + + $* @cfg2 -d prj/pkg1 2>>~%EOE%; # By name (cfg2). + %(mkdir|c\+\+|ld) .+%{3} + EOE + + $* --all -d prj 2>>~%EOE%; # All configs (and packages). + in configuration @cfg1: + %(mkdir|c\+\+|ld|info:) .+%{4} + + in configuration @cfg2: + %(mkdir|c\+\+|ld|info:) .+%{4} + EOE + + # Clean. + # + $clean -d prj/pkg1 2>>~%EOE%; # Default (cfg1). + %rm .+%{3} + EOE + + $clean @cfg2 -d prj/pkg1 2>>~%EOE%; # By name (cfg2). + %rm .+%{3} + EOE + + $clean --all -d prj 2>>~%EOE%; # All configs (and packages). + in configuration @cfg1: + %(rm|info:) .+%{4} + + in configuration @cfg2: + %(rm|info:) .+%{4} + EOE + + $deinit 2>>/"EOE" + deinitializing in project $~/prj/ + deinitializing package pkg1 + deinitializing package pkg2 + synchronizing: + drop pkg1 + drop pkg2 + EOE +} |