# file : tests/update.testscript # copyright : Copyright (c) 2014-2019 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 }