aboutsummaryrefslogtreecommitdiff
path: root/tests/pkg-drop.test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pkg-drop.test')
-rw-r--r--tests/pkg-drop.test447
1 files changed, 0 insertions, 447 deletions
diff --git a/tests/pkg-drop.test b/tests/pkg-drop.test
deleted file mode 100644
index f0ff50f..0000000
--- a/tests/pkg-drop.test
+++ /dev/null
@@ -1,447 +0,0 @@
-# file : tests/pkg-drop.test
-# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
-# license : MIT; see accompanying LICENSE file
-
-.include common.test config.test remote.test
-
-# Source repository:
-#
-# pkg-drop
-# |-- t4a
-# | |-- libfoo-1.1.0.tar.gz
-# | `-- repositories.manifest
-# |-- t4b -> t4a (prerequisite repository)
-# | |-- libbar-1.1.0.tar.gz -> libfoo == 1.1.0
-# | `-- repositories.manifest
-# |-- t4c -> t4b (prerequisite repository)
-# | |-- libbaz-1.1.0.tar.gz -> libfoo, libbar
-# | |-- libfoo-1.0.0.tar.gz
-# | `-- repositories.manifest
-# `-- t4d -> t4c (complement)
-# |-- libbiz-1.0.0.tar.gz -> libfox, libfoo, libbaz
-# |-- libfox-1.0.0.tar.gz
-# `-- repositories.manifest
-
-# Prepare repositories used by tests if running in the local mode.
-#
-+if ($remote != true)
- rep_create += 2>!
-
- cp -r $src/t4a $out/t4a && $rep_create $out/t4a &$out/t4a/packages.manifest
- cp -r $src/t4b $out/t4b && $rep_create $out/t4b &$out/t4b/packages.manifest
- cp -r $src/t4c $out/t4c && $rep_create $out/t4c &$out/t4c/packages.manifest
- cp -r $src/t4d $out/t4d && $rep_create $out/t4d &$out/t4d/packages.manifest
-end
-
-pkg_build += -d cfg --yes 2>!
-pkg_status += -d cfg
-rep_add += -d cfg 2>!
-rep_fetch += -d cfg --auth all --trust-yes 2>!
-
-: no-name
-:
-$clone_cfg;
-$* 2>>EOE != 0
- error: package name argument expected
- info: run 'bpkg help pkg-drop' for more information
- EOE
-
-: unknown-package
-:
-$clone_cfg;
-$* libfoo 2>>/EOE != 0
- error: package libfoo does not exist in configuration cfg/
- EOE
-
-: invalid-name
-:
-$clone_cfg;
-$* libfoo/1.0.0 2>>~%EOE% != 0
- %error: invalid package name 'libfoo/1.0.0': illegal character%
- EOE
-
-: dependencies-or-dependents
-:
-{
- +$clone_cfg && $rep_add $rep/t4c && $rep_fetch
- +$pkg_build libbaz
-
- test.arguments += --print-only
-
- : foo-baz-bar
- :
- $clone_cfg;
- $* -y libfoo libbaz libbar >>EOO
- drop libbaz
- drop libbar
- drop libfoo
- EOO
-
- : dependents
- :
- {
- # Prepare the nested tests to use configuration from the enclosing
- # 'dependencies-or-dependents' group scope.
- #
- clone_cfg = cp -r $~/../cfg ./
-
- : unconfirmed
- :
- {
- test.arguments += --yes
-
- : libfoo
- :
- $clone_cfg;
- $* libfoo 2>>EOE != 0
- following dependent packages will have to be dropped as well:
- libbar (requires libfoo)
- libbaz (requires libbar)
- error: refusing to drop dependent packages with just --yes
- info: specify --drop-dependent to confirm
- EOE
-
- : libfoo-libbar
- :
- $clone_cfg;
- $* libfoo libbar 2>>EOE != 0
- following dependent packages will have to be dropped as well:
- libbaz (requires libbar)
- error: refusing to drop dependent packages with just --yes
- info: specify --drop-dependent to confirm
- EOE
-
- : libfoo-libbaz
- :
- $clone_cfg;
- $* libfoo libbaz 2>>EOE != 0
- following dependent packages will have to be dropped as well:
- libbar (requires libfoo)
- error: refusing to drop dependent packages with just --yes
- info: specify --drop-dependent to confirm
- EOE
- }
-
- : confirmed
- :
- {
- test.arguments += --drop-dependent
-
- : libfoo
- :
- $clone_cfg;
- $* libfoo >>EOO
- drop libbaz
- drop libbar
- drop libfoo
- EOO
-
- : libfoo-libbaz
- :
- $clone_cfg;
- $* libfoo libbaz >>EOO
- drop libbaz
- drop libbar
- drop libfoo
- EOO
-
- : libbaz-libfoo
- :
- $clone_cfg;
- $* libbaz libfoo >>EOO
- drop libbaz
- drop libbar
- drop libfoo
- EOO
- }
- }
-
- : dependencies
- :
- {
- # Prepare the nested tests to use configuration from the enclosing
- # 'dependencies-or-dependents' group scope.
- #
- clone_cfg = cp -r $~/../cfg ./
-
- : libbaz
- :
- $clone_cfg;
- $* -y libbaz >>EOO
- drop libbaz
- drop libbar
- drop libfoo
- EOO
-
- : libbaz-only
- :
- $clone_cfg;
- $* -n libbaz >>EOO
- drop libbaz
- EOO
-
- : libbar-libbaz
- :
- $clone_cfg;
- $* -n libbar libbaz >>EOO
- drop libbaz
- drop libbar
- EOO
-
- : libbaz-libbar
- :
- $clone_cfg;
- $* -n libbaz libbar >>EOO
- drop libbaz
- drop libbar
- EOO
-
- : dependencies
- :
- : Note that we do not move this test to the dependencies-and-dependents
- : group as the configuration repository set would be different.
- :
- $clone_cfg;
- $* -y --drop-dependent libbar >>EOO
- drop libbaz
- drop libbar
- drop libfoo
- EOO
- }
-
- # Here we combine the test group teardown and the "actual drop" test.
- #
- -$pkg_drop -d cfg --yes libbaz 2>>EOE
- disfigured libbaz
- disfigured libbar
- disfigured libfoo
- purged libbaz
- purged libbar
- purged libfoo
- EOE
-
- -$pkg_status libbar/1.1.0 >'libbar available [1.1.0]'
- -$pkg_status libbaz/1.1.0 >'libbaz available 1.1.0'
- -$pkg_status libfoo/1.1.0 >'libfoo available [1.1.0]'
-}
-
-: dependencies-and-dependents
-:
-{
- +$clone_cfg && $rep_add $rep/t4d && $rep_fetch
- +$pkg_build libbiz
-
- clone_cfg = cp -r ../../cfg ./
- test.arguments += --print-only
-
- : drop-dependencies-no-dependents
- :
- {
- test.arguments += --yes
-
- : libbiz
- :
- $clone_cfg;
- $* libbiz >>EOO
- drop libbiz
- drop libbaz
- drop libbar
- drop libfoo
- drop libfox
- EOO
-
- : libfox-libbiz
- :
- $clone_cfg;
- $* libfox libbiz >>EOO
- drop libbiz
- drop libfox
- drop libbaz
- drop libbar
- drop libfoo
- EOO
- }
-
- : drop-dependencies
- :
- {
- test.arguments += --yes --drop-dependent
-
- : libfox
- :
- $clone_cfg;
- $* libfox >>EOO
- drop libbiz
- drop libfox
- drop libbaz
- drop libbar
- drop libfoo
- EOO
-
- : libbaz
- :
- $clone_cfg;
- $* libbaz >>EOO
- drop libbiz
- drop libbaz
- drop libbar
- drop libfoo
- drop libfox
- EOO
-
- : libbar
- :
- $clone_cfg;
- $* libbar >>EOO
- drop libbiz
- drop libbaz
- drop libbar
- drop libfoo
- drop libfox
- EOO
-
- : libfoo
- :
- $clone_cfg;
- $* libfoo >>EOO
- drop libbiz
- drop libbaz
- drop libbar
- drop libfoo
- drop libfox
- EOO
- }
-
- : keep-dependencies
- {
- test.arguments += --no --drop-dependent
-
- : fox-baz
- :
- $clone_cfg;
- $* libfox libbaz >>EOO
- drop libbiz
- drop libfox
- drop libbaz
- EOO
-
- : libbaz-libfox
- :
- $clone_cfg;
- $* libbaz libfox >>EOO
- drop libbiz
- drop libbaz
- drop libfox
- EOO
-
- : libfox-libbar
- :
- $clone_cfg;
- $* libfox libbar >>EOO
- drop libbiz
- drop libfox
- drop libbaz
- drop libbar
- EOO
-
- : libbar-libfox
- :
- $clone_cfg;
- $* libbar libfox >>EOO
- drop libbiz
- drop libbaz
- drop libbar
- drop libfox
- EOO
- }
-
- -$pkg_drop -d cfg --yes --drop-dependent libbar 2>>EOE
- disfigured libbiz
- disfigured libbaz
- disfigured libbar
- disfigured libfoo
- disfigured libfox
- purged libbiz
- purged libbaz
- purged libbar
- purged libfoo
- purged libfox
- EOE
-
- -$pkg_status libfox/1.0.0 >'libfox available 1.0.0'
- -$pkg_status libfoo/1.1.0 >'libfoo available [1.1.0]'
- -$pkg_status libbar/1.1.0 >'libbar available [1.1.0]'
- -$pkg_status libbaz/1.1.0 >'libbaz available 1.1.0'
- -$pkg_status libbiz/1.0.0 >'libbiz available 1.0.0'
-}
-
-: keep-drop-options
-:
-: Test --drop-dependent, --keep-dependent, --keep-unused, option.
-:
-{
- +$clone_cfg && $rep_add $rep/t4b && $rep_fetch
-
- : keep-drop-dependent
- :
- {
- $clone_cfg && $pkg_build libbar;
-
- $* --keep-dependent libfoo 2>>EOE != 0;
- error: following dependent packages will have to be dropped as well:
- libbar (requires libfoo)
- EOE
-
- $* --drop-dependent libfoo 2>>EOE
- disfigured libbar
- disfigured libfoo
- purged libbar
- purged libfoo
- EOE
- }
-
- : drop-dependency
- :
- {
- $clone_cfg && $pkg_build libbar;
-
- $* libbar --yes 2>>EOE
- disfigured libbar
- disfigured libfoo
- purged libbar
- purged libfoo
- EOE
- }
-
- : keep-dependency
- :
- {
- $clone_cfg && $pkg_build libbar;
-
- $* --keep-unused libbar 2>>EOE;
- disfigured libbar
- purged libbar
- EOE
-
- $pkg_status libfoo >'libfoo configured 1.1.0';
-
- $* libfoo 2>>EOE
- disfigured libfoo
- purged libfoo
- EOE
- }
-}
-
-: disfigure-only
-:
-: Test --disfigure-only option.
-:
-{
- $clone_cfg && $rep_add $rep/t4a && $rep_fetch;
- $pkg_build libfoo;
-
- $* --disfigure-only libfoo 2>'disfigured libfoo';
- $pkg_status libfoo >'!libfoo unpacked 1.1.0';
-
- $* libfoo 2>'purged libfoo'
-}