diff options
Diffstat (limited to 'tests/pkg-drop.testscript')
-rw-r--r-- | tests/pkg-drop.testscript | 103 |
1 files changed, 81 insertions, 22 deletions
diff --git a/tests/pkg-drop.testscript b/tests/pkg-drop.testscript index d875543..a3c48ab 100644 --- a/tests/pkg-drop.testscript +++ b/tests/pkg-drop.testscript @@ -39,6 +39,22 @@ $* 2>>EOE != 0 info: run 'bpkg help pkg-drop' for more information EOE +: all-all-pattern +: +$clone_cfg; +$* --all --all-pattern 'lib*' 2>>EOE != 0 + error: both --all|-a and --all-pattern specified + info: run 'bpkg help pkg-drop' for more information + EOE + +: all-pattern-name +: +$clone_cfg; +$* --all-pattern 'lib*' libbaz 2>>EOE != 0 + error: both --all-pattern and package argument specified + info: run 'bpkg help pkg-drop' for more information + EOE + : unknown-package : $clone_cfg; @@ -370,12 +386,13 @@ $* libfoo/1.0.0 2>>~%EOE% != 0 : keep-drop-options : -: Test --drop-dependent, --keep-dependent, --keep-unused, option. +: Test --drop-dependent, --keep-dependent, --dependent-exit, --keep-unused +: options. : { +$clone_cfg && $rep_add $rep/t4b && $rep_fetch - : keep-drop-dependent + : keep-exit-drop-dependent : { $clone_cfg && $pkg_build libbar; @@ -385,6 +402,8 @@ $* libfoo/1.0.0 2>>~%EOE% != 0 libbar (requires libfoo) EOE + $* --dependent-exit 100 libfoo == 100; + $* --drop-dependent libfoo 2>>EOE disfigured libbar disfigured libfoo @@ -442,6 +461,10 @@ $* libfoo/1.0.0 2>>~%EOE% != 0 : linked-configs : { + # Get rid of -d option. + # + pkg_build = [cmdline] $0 pkg-build --yes --sys-no-query 2>! + : 3-configs : { @@ -460,15 +483,12 @@ $* libfoo/1.0.0 2>>~%EOE% != 0 cp -pr ../cfg-bar ./; cp -pr ../cfg-foo ./; - pkg_build = $regex.apply($pkg_build, cfg, cfg-bar); - - $pkg_build libbar@"$rep/t4b" ?libfoo +{ --config-id 2 } --trust-yes; + $pkg_build -d cfg-bar libbar@"$rep/t4b" ?libfoo +{ --config-id 2 } \ + --trust-yes; - pkg_build = $regex.apply($pkg_build, cfg-bar, cfg); + $pkg_build -d cfg libbaz; - $pkg_build libbaz; - - $pkg_build '?libbar' +{ --config-id 1 }; + $pkg_build -d cfg '?libbar' +{ --config-id 1 }; $* libbaz <<EOI 2>>/~%EOE% y @@ -496,19 +516,16 @@ $* libfoo/1.0.0 2>>~%EOE% != 0 cp -pr ../cfg-bar ./; cp -pr ../cfg-foo ./; - pkg_build = $regex.apply($pkg_build, cfg, cfg-bar); - - $pkg_build libbar@"$rep/t4b" ?libfoo +{ --config-id 2 } --trust-yes; + $pkg_build -d cfg-bar libbar@"$rep/t4b" ?libfoo +{ --config-id 2 } \ + --trust-yes; - pkg_build = $regex.apply($pkg_build, cfg-bar, cfg); - - $pkg_build libbaz; + $pkg_build -d cfg libbaz; # Make sure that dependents of a package being dropped can be found in # implicitly linked configurations recursively. Note that configuring # libbar as system, we make libbaz an only dependent of libfoo. # - $pkg_build '?sys:libbar' +{ --config-id 1 }; + $pkg_build -d cfg '?sys:libbar' +{ --config-id 1 }; $pkg_status -r libbaz >>/EOO; !libbaz configured 1.1.0 @@ -559,13 +576,10 @@ $* libfoo/1.0.0 2>>~%EOE% != 0 $cfg_link -d cfg-bar cfg; $cfg_link -d cfg-foo cfg-bar; - pkg_build = $regex.apply($pkg_build, cfg, cfg-bar); - - $pkg_build libbar@"$rep/t4b" ?libfoo +{ --config-id 2 } --trust-yes; + $pkg_build -d cfg-bar libbar@"$rep/t4b" ?libfoo +{ --config-id 2 } \ + --trust-yes; - pkg_build = $regex.apply($pkg_build, cfg-bar, cfg); - - $pkg_build libbaz; + $pkg_build -d cfg libbaz; $pkg_status -r libbaz >>/EOO; !libbaz configured 1.1.0 @@ -772,3 +786,48 @@ $* libfoo/1.0.0 2>>~%EOE% != 0 EOE } } + +: all-options +: +{ + +$clone_cfg && $rep_add $rep/t4b $rep/t4c && $rep_fetch + + test.arguments += --yes + + : all + : + { + $clone_cfg; + + $pkg_build libbaz libbar; + + $* --all 2>>EOO + disfigured libbaz + disfigured libbar + disfigured libfoo + purged libbaz + purged libbar + purged libfoo + EOO + } + + : all-pattern + : + { + $clone_cfg; + + $pkg_build libbaz libbar libfoo; + + $* --all-pattern 'libb*' 2>>EOO; + disfigured libbaz + disfigured libbar + purged libbaz + purged libbar + EOO + + $* libfoo 2>>EOO + disfigured libfoo + purged libfoo + EOO + } +} |