# file : tests/update.testscript # license : MIT; see accompanying LICENSE file # Here we test both update and clean commands. # .include common.testscript config_cxx = cc config.cxx=$quote($recall($cxx.path) $cxx.mode, true) new += 2>! init += $config_cxx -d prj 2>! deinit += -d prj : single-pkg-cfg : { $new -C @cfg prj $config_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 }