diff options
Diffstat (limited to 'tests/pkg-system.testscript')
-rw-r--r-- | tests/pkg-system.testscript | 107 |
1 files changed, 54 insertions, 53 deletions
diff --git a/tests/pkg-system.testscript b/tests/pkg-system.testscript index 8a6bf4b..11ed1cc 100644 --- a/tests/pkg-system.testscript +++ b/tests/pkg-system.testscript @@ -1,5 +1,4 @@ # file : tests/pkg-system.testscript -# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd # license : MIT; see accompanying LICENSE file .include common.testscript auth.testscript config.testscript remote.testscript @@ -33,7 +32,7 @@ # Prepare repositories used by tests if running in the local mode. # -+if ($remote != true) ++if! $remote rep_create += 2>! cp -r $src/t1 $out/t1 && $rep_create $out/t1 &$out/t1/packages.manifest @@ -53,10 +52,9 @@ rep_remove += -d cfg 2>! { $clone_cfg; - $pkg_build 'sys:libbar' 2>>/EOE != 0; - error: unknown package libbar - info: configuration cfg/ has no repositories - info: use 'bpkg rep-add' to add a repository + $pkg_build 'sys:libbar' 2>>EOE != 0; + error: unknown package sys:libbar + info: consider specifying sys:libbar/* EOE $pkg_build 'sys:libbar/1' 2>>EOE; @@ -91,28 +89,28 @@ rep_remove += -d cfg 2>! { $clone_cfg; - $pkg_build 'sys:libbar' '?sys:libbar' 2>>EOE != 0; + $pkg_build 'sys:libbar' 'sys:libbar/1.0.0' 2>>EOE != 0; error: duplicate package libbar info: first mentioned as sys:libbar - info: second mentioned as ?sys:libbar + info: second mentioned as sys:libbar/1.0.0 EOE - $pkg_build '?sys:libbar' 'sys:libbar' 2>>EOE != 0; + $pkg_build '?sys:libbar' '?sys:libbar/1.0.0' 2>>EOE != 0; error: duplicate package libbar info: first mentioned as ?sys:libbar - info: second mentioned as sys:libbar + info: second mentioned as ?sys:libbar/1.0.0 EOE - $pkg_build '?sys:libbar' libbar 2>>EOE != 0; + $pkg_build 'sys:libbar' libbar 2>>EOE != 0; error: duplicate package libbar - info: first mentioned as ?sys:libbar + info: first mentioned as sys:libbar info: second mentioned as libbar EOE - $pkg_build libbar '?sys:libbar' 2>>EOE != 0; + $pkg_build ?libbar '?sys:libbar' +{ --config-id 0 } 2>>EOE != 0; error: duplicate package libbar - info: first mentioned as libbar - info: second mentioned as ?sys:libbar + info: first mentioned as ?libbar + info: second mentioned as ?sys:libbar +{ --config-id 0 } EOE $pkg_build 'sys:libbar' libbar 2>>EOE != 0; @@ -180,10 +178,10 @@ rep_remove += -d cfg 2>! %.* %.*fetched libbaz/2% unpacked libbaz/2 - configured libbaz/2 %.* %.*fetched libbar/2% unpacked libbar/2 + configured libbaz/2 configured libbar/2 configured foo/2 %info: .+ is up to date%{2} @@ -206,10 +204,10 @@ rep_remove += -d cfg 2>! $clone_cfg; $pkg_build foo 'sys:libbar/2' 2>>~%EOE%; - configured sys:libbar/2 %.* %.*fetched foo/2% unpacked foo/2 + configured sys:libbar/2 configured foo/2 %info: .+ is up to date% updated foo/2 @@ -230,10 +228,10 @@ rep_remove += -d cfg 2>! $clone_cfg; $pkg_build 'sys:libbar/2' foo 2>>~%EOE%; - configured sys:libbar/2 %.* %.*fetched foo/2% unpacked foo/2 + configured sys:libbar/2 configured foo/2 %info: .+ is up to date% updated foo/2 @@ -259,10 +257,10 @@ rep_remove += -d cfg 2>! %.* %.*fetched libbaz/2% unpacked libbaz/2 - configured libbaz/2 %.* %.*fetched libbar/2% unpacked libbar/2 + configured libbaz/2 configured libbar/2 %info: .+ is up to date% updated libbar/2 @@ -278,10 +276,10 @@ rep_remove += -d cfg 2>! disfigured libbaz/2 purged libbaz/2 purged libbar/2 - configured sys:libbar/2 %.* %.*fetched foo/2% unpacked foo/2 + configured sys:libbar/2 configured foo/2 %info: .+ is up to date% updated foo/2 @@ -307,10 +305,10 @@ rep_remove += -d cfg 2>! %.* %.*fetched libbaz/2% unpacked libbaz/2 - configured libbaz/2 %.* %.*fetched libbar/2% unpacked libbar/2 + configured libbaz/2 configured libbar/2 %info: .+ is up to date% updated libbar/2 @@ -326,10 +324,10 @@ rep_remove += -d cfg 2>! disfigured libbaz/2 purged libbaz/2 purged libbar/2 - configured sys:libbar/* %.* %.*fetched foo/2% unpacked foo/2 + configured sys:libbar/* configured foo/2 %info: .+ is up to date% updated foo/2 @@ -362,14 +360,14 @@ rep_remove += -d cfg 2>! %.* %.*fetched libbaz/2% unpacked libbaz/2 - configured libbaz/2 %.* %.*fetched libbar/2% unpacked libbar/2 - configured libbar/2 %.* %.*fetched foo/2% unpacked foo/2 + configured libbaz/2 + configured libbar/2 configured foo/2 %info: .+ is up to date%{2} updated libbar/2 @@ -406,10 +404,10 @@ rep_remove += -d cfg 2>! %.* %.*fetched libbaz/2% unpacked libbaz/2 - configured libbaz/2 %.* %.*fetched libbar/2% unpacked libbar/2 + configured libbaz/2 configured libbar/2 configured foo/2 %info: .+ is up to date%{2} @@ -454,14 +452,14 @@ rep_remove += -d cfg 2>! %.* %.*fetched libbaz/2% unpacked libbaz/2 - configured libbaz/2 %.* %.*fetched libbar/2% unpacked libbar/2 - configured libbar/2 %.* %.*fetched foo/2% unpacked foo/2 + configured libbaz/2 + configured libbar/2 configured foo/2 %info: .+ is up to date%{2} updated libbar/2 @@ -483,10 +481,10 @@ rep_remove += -d cfg 2>! $clone_cfg; $pkg_build foo '?sys:libbar' 2>>~%EOE%; - configured sys:libbar/* %.* %.*fetched foo/2% unpacked foo/2 + configured sys:libbar/* configured foo/2 %info: .+ is up to date% updated foo/2 @@ -513,10 +511,10 @@ rep_remove += -d cfg 2>! %.* %.*fetched libbaz/2% unpacked libbaz/2 - configured libbaz/2 %.* %.*fetched libbar/1% unpacked libbar/1 + configured libbaz/2 configured libbar/1 %info: .+ is up to date% updated libbar/1 @@ -541,10 +539,10 @@ rep_remove += -d cfg 2>! disfigured libbaz/2 purged libbaz/2 purged libbar/1 - configured sys:libbar/2 %.* %.*fetched foo/2% unpacked foo/2 + configured sys:libbar/2 configured foo/2 %info: .+ is up to date% updated foo/2 @@ -632,10 +630,10 @@ rep_remove += -d cfg 2>! $clone_cfg; $pkg_build foo 'sys:libbar' 2>>~%EOE%; - configured sys:libbar/* %.* %.*fetched foo/2% unpacked foo/2 + configured sys:libbar/* configured foo/2 %info: .+ is up to date% updated foo/2 @@ -672,10 +670,10 @@ rep_remove += -d cfg 2>! # $pkg_build foo 'sys:libbar/2' 2>>~%EOE%; purged libbar/1 - configured sys:libbar/2 %.* %.*fetched foo/2% unpacked foo/2 + configured sys:libbar/2 configured foo/2 %info: .+ is up to date% updated foo/2 @@ -712,12 +710,12 @@ rep_remove += -d cfg 2>! # $pkg_build foo 'sys:libbar/1' 2>>EOE != 0; error: unable to satisfy constraints on package libbar - info: foo depends on (libbar >= 2) info: command line depends on (libbar == 1) - info: available sys:libbar/2 + info: foo/2 depends on (libbar >= 2) info: available sys:libbar/1 + info: available sys:libbar/2 + info: while satisfying foo/2 info: explicitly specify libbar version to manually satisfy both constraints - info: while satisfying foo/2 EOE $pkg_drop libbar @@ -758,10 +756,10 @@ rep_remove += -d cfg 2>! # Build foo and ?sys:libbar. # $pkg_build foo '?sys:libbar' 2>>~%EOE%; - configured sys:libbar/* %.* %.*fetched foo/2% unpacked foo/2 + configured sys:libbar/* configured foo/2 %info: .+ is up to date% updated foo/2 @@ -807,10 +805,10 @@ rep_remove += -d cfg 2>! # $pkg_build foo '?sys:libbar/2' 2>>~%EOE%; purged libbar/1 - configured sys:libbar/2 %.* %.*fetched foo/2% unpacked foo/2 + configured sys:libbar/2 configured foo/2 %info: .+ is up to date% updated foo/2 @@ -851,10 +849,6 @@ rep_remove += -d cfg 2>! info: while satisfying foo/2 EOE - $pkg_build 'sys:libbar' 2>>EOE != 0; - error: unknown package libbar - EOE - $pkg_build foo 'sys:libbar/1' 2>>EOE != 0; error: dependency libbar >= 2 of package foo is not available in source info: sys:libbar/1 does not satisfy the constrains @@ -873,11 +867,26 @@ rep_remove += -d cfg 2>! $pkg_status libbar >'libbar unknown' } + : find-all + : + : Test that sys:libbar can be built to hold even if its stub package is not + : available from the configured repository but only from its prerequisite + : repository. + : + { + $clone_cfg; + + $pkg_build 'sys:libbar' 2>>EOE; + configured sys:libbar/* + EOE + + $pkg_status libbar >'!libbar configured,system !*' + } + : syslibbar1-foo-syslibbar-drop-foo : - : The overall plan is to build foo ?sys:libbar/2, fail to build sys:libbar - : and foo 'sys:libbar', but succeed to build foo ?sys:libbar/3 and foo - : ?sys:libbar. + : The overall plan is to build foo ?sys:libbar/2, then foo ?sys:libbar/3, + : and then foo ?sys:libbar. : { $clone_cfg; @@ -885,10 +894,10 @@ rep_remove += -d cfg 2>! # Build foo '?sys:libbar/2'. # $pkg_build foo '?sys:libbar/2' 2>>~%EOE%; - configured sys:libbar/2 %.* %.*fetched foo/2% unpacked foo/2 + configured sys:libbar/2 configured foo/2 %info: .+ is up to date% updated foo/2 @@ -897,14 +906,6 @@ rep_remove += -d cfg 2>! $pkg_status foo >'!foo configured 2'; $pkg_status libbar >'libbar configured,system !2'; - # Fail as libbar while being selected is still unknown (not present in t3 - # repo). - # - $pkg_build 'sys:libbar' 2>'error: unknown package libbar' != 0; - $pkg_build foo 'sys:libbar' 2>'error: unknown package libbar' != 0; - $pkg_status foo 1>'!foo configured 2'; - $pkg_status libbar 1>'libbar configured,system !2'; - # Build foo and ?sys:libbar/3. # $pkg_build foo '?sys:libbar/3' 2>>~%EOE%; |