From 9bed19ed335290b445952541509022c1cb474197 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 15 Jun 2022 18:18:58 +0300 Subject: Convert some more bdep configuration negotiation tests --- .../dependency-alternatives/t13e/bar-1.0.0.tar.gz | Bin 0 -> 443 bytes .../dependency-alternatives/t13e/baz-1.0.0.tar.gz | Bin 0 -> 448 bytes .../dependency-alternatives/t13e/biz-1.0.0.tar.gz | Bin 0 -> 395 bytes .../dependency-alternatives/t13e/liba-1.0.0.tar.gz | Bin 0 -> 422 bytes .../t13e/repositories.manifest | 1 + .../dependency-alternatives/t13f/bar-1.0.0.tar.gz | Bin 0 -> 511 bytes .../dependency-alternatives/t13f/baz-1.0.0.tar.gz | Bin 0 -> 458 bytes .../dependency-alternatives/t13f/liba-1.0.0.tar.gz | Bin 0 -> 421 bytes .../t13f/repositories.manifest | 1 + .../dependency-alternatives/t13g/bar-1.0.0.tar.gz | Bin 0 -> 533 bytes .../dependency-alternatives/t13g/baz-1.0.0.tar.gz | Bin 0 -> 497 bytes .../dependency-alternatives/t13g/biz-1.0.0.tar.gz | Bin 0 -> 538 bytes .../dependency-alternatives/t13g/box-1.0.0.tar.gz | Bin 0 -> 535 bytes .../dependency-alternatives/t13g/liba-1.0.0.tar.gz | Bin 0 -> 402 bytes .../dependency-alternatives/t13g/libb-1.0.0.tar.gz | Bin 0 -> 347 bytes .../t13g/repositories.manifest | 1 + .../dependency-alternatives/t13h/bar-1.0.0.tar.gz | Bin 0 -> 492 bytes .../dependency-alternatives/t13h/baz-1.0.0.tar.gz | Bin 0 -> 416 bytes .../dependency-alternatives/t13h/liba-1.0.0.tar.gz | Bin 0 -> 421 bytes .../t13h/repositories.manifest | 1 + .../dependency-alternatives/t13i/bar-1.0.0.tar.gz | Bin 0 -> 481 bytes .../dependency-alternatives/t13i/baz-1.0.0.tar.gz | Bin 0 -> 501 bytes .../dependency-alternatives/t13i/liba-1.0.0.tar.gz | Bin 0 -> 421 bytes .../t13i/repositories.manifest | 1 + .../dependency-alternatives/t13j/bar-1.0.0.tar.gz | Bin 0 -> 508 bytes .../dependency-alternatives/t13j/baz-1.0.0.tar.gz | Bin 0 -> 398 bytes .../dependency-alternatives/t13j/biz-1.0.0.tar.gz | Bin 0 -> 503 bytes .../dependency-alternatives/t13j/liba-1.0.0.tar.gz | Bin 0 -> 494 bytes .../t13j/repositories.manifest | 1 + .../dependency-alternatives/t13k/bar-1.0.0.tar.gz | Bin 0 -> 505 bytes .../dependency-alternatives/t13k/baz-1.0.0.tar.gz | Bin 0 -> 417 bytes .../dependency-alternatives/t13k/liba-1.0.0.tar.gz | Bin 0 -> 421 bytes .../t13k/repositories.manifest | 1 + tests/pkg-build.testscript | 398 +++++++++++++++++++++ tests/pkg-build/t13e | 1 + tests/pkg-build/t13f | 1 + tests/pkg-build/t13g | 1 + tests/pkg-build/t13h | 1 + tests/pkg-build/t13i | 1 + tests/pkg-build/t13j | 1 + tests/pkg-build/t13k | 1 + 41 files changed, 412 insertions(+) create mode 100644 tests/common/dependency-alternatives/t13e/bar-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13e/baz-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13e/biz-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13e/liba-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13e/repositories.manifest create mode 100644 tests/common/dependency-alternatives/t13f/bar-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13f/baz-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13f/liba-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13f/repositories.manifest create mode 100644 tests/common/dependency-alternatives/t13g/bar-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13g/baz-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13g/biz-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13g/box-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13g/liba-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13g/libb-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13g/repositories.manifest create mode 100644 tests/common/dependency-alternatives/t13h/bar-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13h/baz-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13h/liba-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13h/repositories.manifest create mode 100644 tests/common/dependency-alternatives/t13i/bar-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13i/baz-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13i/liba-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13i/repositories.manifest create mode 100644 tests/common/dependency-alternatives/t13j/bar-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13j/baz-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13j/biz-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13j/liba-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13j/repositories.manifest create mode 100644 tests/common/dependency-alternatives/t13k/bar-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13k/baz-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13k/liba-1.0.0.tar.gz create mode 100644 tests/common/dependency-alternatives/t13k/repositories.manifest create mode 120000 tests/pkg-build/t13e create mode 120000 tests/pkg-build/t13f create mode 120000 tests/pkg-build/t13g create mode 120000 tests/pkg-build/t13h create mode 120000 tests/pkg-build/t13i create mode 120000 tests/pkg-build/t13j create mode 120000 tests/pkg-build/t13k (limited to 'tests') diff --git a/tests/common/dependency-alternatives/t13e/bar-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13e/bar-1.0.0.tar.gz new file mode 100644 index 0000000..7211afb Binary files /dev/null and b/tests/common/dependency-alternatives/t13e/bar-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13e/baz-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13e/baz-1.0.0.tar.gz new file mode 100644 index 0000000..e5f2880 Binary files /dev/null and b/tests/common/dependency-alternatives/t13e/baz-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13e/biz-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13e/biz-1.0.0.tar.gz new file mode 100644 index 0000000..afd7db3 Binary files /dev/null and b/tests/common/dependency-alternatives/t13e/biz-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13e/liba-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13e/liba-1.0.0.tar.gz new file mode 100644 index 0000000..f3cb165 Binary files /dev/null and b/tests/common/dependency-alternatives/t13e/liba-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13e/repositories.manifest b/tests/common/dependency-alternatives/t13e/repositories.manifest new file mode 100644 index 0000000..5b70556 --- /dev/null +++ b/tests/common/dependency-alternatives/t13e/repositories.manifest @@ -0,0 +1 @@ +: 1 diff --git a/tests/common/dependency-alternatives/t13f/bar-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13f/bar-1.0.0.tar.gz new file mode 100644 index 0000000..7a255a1 Binary files /dev/null and b/tests/common/dependency-alternatives/t13f/bar-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13f/baz-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13f/baz-1.0.0.tar.gz new file mode 100644 index 0000000..f697c81 Binary files /dev/null and b/tests/common/dependency-alternatives/t13f/baz-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13f/liba-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13f/liba-1.0.0.tar.gz new file mode 100644 index 0000000..877305f Binary files /dev/null and b/tests/common/dependency-alternatives/t13f/liba-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13f/repositories.manifest b/tests/common/dependency-alternatives/t13f/repositories.manifest new file mode 100644 index 0000000..5b70556 --- /dev/null +++ b/tests/common/dependency-alternatives/t13f/repositories.manifest @@ -0,0 +1 @@ +: 1 diff --git a/tests/common/dependency-alternatives/t13g/bar-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13g/bar-1.0.0.tar.gz new file mode 100644 index 0000000..5c8a596 Binary files /dev/null and b/tests/common/dependency-alternatives/t13g/bar-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13g/baz-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13g/baz-1.0.0.tar.gz new file mode 100644 index 0000000..011ffea Binary files /dev/null and b/tests/common/dependency-alternatives/t13g/baz-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13g/biz-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13g/biz-1.0.0.tar.gz new file mode 100644 index 0000000..77cb421 Binary files /dev/null and b/tests/common/dependency-alternatives/t13g/biz-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13g/box-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13g/box-1.0.0.tar.gz new file mode 100644 index 0000000..5217e88 Binary files /dev/null and b/tests/common/dependency-alternatives/t13g/box-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13g/liba-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13g/liba-1.0.0.tar.gz new file mode 100644 index 0000000..2ee35ae Binary files /dev/null and b/tests/common/dependency-alternatives/t13g/liba-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13g/libb-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13g/libb-1.0.0.tar.gz new file mode 100644 index 0000000..0f13429 Binary files /dev/null and b/tests/common/dependency-alternatives/t13g/libb-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13g/repositories.manifest b/tests/common/dependency-alternatives/t13g/repositories.manifest new file mode 100644 index 0000000..5b70556 --- /dev/null +++ b/tests/common/dependency-alternatives/t13g/repositories.manifest @@ -0,0 +1 @@ +: 1 diff --git a/tests/common/dependency-alternatives/t13h/bar-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13h/bar-1.0.0.tar.gz new file mode 100644 index 0000000..7e85fca Binary files /dev/null and b/tests/common/dependency-alternatives/t13h/bar-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13h/baz-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13h/baz-1.0.0.tar.gz new file mode 100644 index 0000000..6fbdf82 Binary files /dev/null and b/tests/common/dependency-alternatives/t13h/baz-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13h/liba-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13h/liba-1.0.0.tar.gz new file mode 100644 index 0000000..ffd380c Binary files /dev/null and b/tests/common/dependency-alternatives/t13h/liba-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13h/repositories.manifest b/tests/common/dependency-alternatives/t13h/repositories.manifest new file mode 100644 index 0000000..5b70556 --- /dev/null +++ b/tests/common/dependency-alternatives/t13h/repositories.manifest @@ -0,0 +1 @@ +: 1 diff --git a/tests/common/dependency-alternatives/t13i/bar-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13i/bar-1.0.0.tar.gz new file mode 100644 index 0000000..6c1076d Binary files /dev/null and b/tests/common/dependency-alternatives/t13i/bar-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13i/baz-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13i/baz-1.0.0.tar.gz new file mode 100644 index 0000000..b086ef4 Binary files /dev/null and b/tests/common/dependency-alternatives/t13i/baz-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13i/liba-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13i/liba-1.0.0.tar.gz new file mode 100644 index 0000000..4a7bd22 Binary files /dev/null and b/tests/common/dependency-alternatives/t13i/liba-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13i/repositories.manifest b/tests/common/dependency-alternatives/t13i/repositories.manifest new file mode 100644 index 0000000..5b70556 --- /dev/null +++ b/tests/common/dependency-alternatives/t13i/repositories.manifest @@ -0,0 +1 @@ +: 1 diff --git a/tests/common/dependency-alternatives/t13j/bar-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13j/bar-1.0.0.tar.gz new file mode 100644 index 0000000..8660e0f Binary files /dev/null and b/tests/common/dependency-alternatives/t13j/bar-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13j/baz-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13j/baz-1.0.0.tar.gz new file mode 100644 index 0000000..7483377 Binary files /dev/null and b/tests/common/dependency-alternatives/t13j/baz-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13j/biz-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13j/biz-1.0.0.tar.gz new file mode 100644 index 0000000..948c1c4 Binary files /dev/null and b/tests/common/dependency-alternatives/t13j/biz-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13j/liba-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13j/liba-1.0.0.tar.gz new file mode 100644 index 0000000..0c94586 Binary files /dev/null and b/tests/common/dependency-alternatives/t13j/liba-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13j/repositories.manifest b/tests/common/dependency-alternatives/t13j/repositories.manifest new file mode 100644 index 0000000..5b70556 --- /dev/null +++ b/tests/common/dependency-alternatives/t13j/repositories.manifest @@ -0,0 +1 @@ +: 1 diff --git a/tests/common/dependency-alternatives/t13k/bar-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13k/bar-1.0.0.tar.gz new file mode 100644 index 0000000..51de0c5 Binary files /dev/null and b/tests/common/dependency-alternatives/t13k/bar-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13k/baz-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13k/baz-1.0.0.tar.gz new file mode 100644 index 0000000..a8c62ba Binary files /dev/null and b/tests/common/dependency-alternatives/t13k/baz-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13k/liba-1.0.0.tar.gz b/tests/common/dependency-alternatives/t13k/liba-1.0.0.tar.gz new file mode 100644 index 0000000..c4a4b32 Binary files /dev/null and b/tests/common/dependency-alternatives/t13k/liba-1.0.0.tar.gz differ diff --git a/tests/common/dependency-alternatives/t13k/repositories.manifest b/tests/common/dependency-alternatives/t13k/repositories.manifest new file mode 100644 index 0000000..5b70556 --- /dev/null +++ b/tests/common/dependency-alternatives/t13k/repositories.manifest @@ -0,0 +1 @@ +: 1 diff --git a/tests/pkg-build.testscript b/tests/pkg-build.testscript index 630c7b4..243a0a7 100644 --- a/tests/pkg-build.testscript +++ b/tests/pkg-build.testscript @@ -290,6 +290,58 @@ # | |-- baz-1.0.0.tar.gz -> bar, liba {require {...}} # | `-- repositories.manifest # | +# |-- t13e +# | |-- liba-0.1.0.tar.gz +# | |-- bar-1.0.0.tar.gz -> liba {prefer {...} accept (...)} +# | |-- baz-1.0.0.tar.gz -> liba {prefer {...} accept (...)}, +# | | bar ? (...), +# | | biz +# | |-- biz-1.0.0.tar.gz -> liba {require {...}} +# | `-- repositories.manifest +# | +# |-- t13f +# | |-- liba-0.1.0.tar.gz +# | |-- bar-1.0.0.tar.gz -> liba {prefer {...} accept (...)} +# | |-- baz-1.0.0.tar.gz -> liba {prefer {...} accept (...)} +# | `-- repositories.manifest +# | +# |-- t13g +# | |-- liba-0.1.0.tar.gz +# | |-- libb-0.1.0.tar.gz +# | |-- bar-1.0.0.tar.gz -> liba {prefer {...} accept (...) reflect (...)}, +# | | libb {prefer {...} accept (...) reflect (...)} +# | |-- baz-1.0.0.tar.gz -> liba {prefer {...} accept (...) reflect (...)}, +# | | libb ? (...) +# | |-- biz-1.0.0.tar.gz -> liba {prefer {...} accept (...) reflect (...)}, +# | | libb {prefer {...} accept (...) reflect (...)} +# | |-- box-1.0.0.tar.gz -> liba {prefer {...} accept (...) reflect (...)}, +# | | libb {prefer {...} accept (...) reflect (...)} +# | `-- repositories.manifest +# | +# |-- t13h +# | |-- liba-0.1.0.tar.gz +# | |-- bar-1.0.0.tar.gz -> liba {prefer {...} accept (...)} +# | |-- baz-1.0.0.tar.gz -> liba {prefer {...} accept (...)} +# | `-- repositories.manifest +# | +# |-- t13i +# | |-- liba-0.1.0.tar.gz +# | |-- bar-1.0.0.tar.gz -> liba {require {...} reflect (...)} +# | `-- repositories.manifest +# | +# |-- t13j +# | |-- liba-0.1.0.tar.gz +# | |-- bar-1.0.0.tar.gz -> liba {prefer {...} accept (...)} +# | |-- baz-1.0.0.tar.gz -> liba {require {...}} +# | |-- biz-1.0.0.tar.gz -> liba {prefer {...} accept (...)} +# | `-- repositories.manifest +# | +# |-- t13k +# | |-- liba-0.1.0.tar.gz +# | |-- bar-1.0.0.tar.gz -> liba {prefer {...} accept (...)} +# | |-- baz-1.0.0.tar.gz -> liba {prefer {...} accept (...)} +# | `-- repositories.manifest +# | # `-- git # |-- libbar.git -> style-basic.git (prerequisite repository) # |-- libbaz.git @@ -328,6 +380,13 @@ posix = ($cxx.target.class != 'windows') cp -r $src/t13b $out/t13b && $rep_create $out/t13b &$out/t13b/packages.manifest cp -r $src/t13c $out/t13c && $rep_create $out/t13c &$out/t13c/packages.manifest cp -r $src/t13d $out/t13d && $rep_create $out/t13d &$out/t13d/packages.manifest + cp -r $src/t13e $out/t13e && $rep_create $out/t13e &$out/t13e/packages.manifest + cp -r $src/t13f $out/t13f && $rep_create $out/t13f &$out/t13f/packages.manifest + cp -r $src/t13g $out/t13g && $rep_create $out/t13g &$out/t13g/packages.manifest + cp -r $src/t13h $out/t13h && $rep_create $out/t13h &$out/t13h/packages.manifest + cp -r $src/t13i $out/t13i && $rep_create $out/t13i &$out/t13i/packages.manifest + cp -r $src/t13j $out/t13j && $rep_create $out/t13j &$out/t13j/packages.manifest + cp -r $src/t13k $out/t13k && $rep_create $out/t13k &$out/t13k/packages.manifest # Create git repositories. # @@ -11867,6 +11926,345 @@ test.options += --no-progress $pkg_drop bar } } + + : proj-bogus-config + : + { + +$clone_root_cfg && $rep_add $rep/t13e && $rep_fetch + + : baz + : + { + $clone_cfg; + + $* baz 2>>~%EOE%; + build plan: + new liba/1.0.0 (required by baz, biz) + config.liba.x=true (set by biz) + new biz/1.0.0 (required by baz) + new baz/1.0.0 + fetched liba/1.0.0 + unpacked liba/1.0.0 + fetched biz/1.0.0 + unpacked biz/1.0.0 + fetched baz/1.0.0 + unpacked baz/1.0.0 + configured liba/1.0.0 + configured biz/1.0.0 + configured baz/1.0.0 + %info: .+baz.+ is up to date% + updated baz/1.0.0 + EOE + + $pkg_status -r >>EOO; + !baz configured 1.0.0 + biz configured 1.0.0 + liba configured 1.0.0 + liba configured 1.0.0 + EOO + + cat cfg/liba-1.0.0/build/config.build >>~%EOO%; + %.* + config.liba.x = true + config.liba.buffer = 1024 + EOO + + $pkg_drop baz + } + } + + : proj-bogus-config-cycle + : + { + +$clone_root_cfg && $rep_add $rep/t13f && $rep_fetch + + : baz + : + { + $clone_cfg; + + $* baz 2>>EOE != 0; + error: unable to remove bogus configuration values without causing configuration refinement cycle + info: consider manually specifying one or more of the following variables as user configuration + config.liba.buffer=2048 + config.liba.x=true + EOE + + $* baz ?liba +{ config.liba.x=true } 2>>~%EOE%; + build plan: + new liba/1.0.0 + config.liba.x=true (user configuration) + new baz/1.0.0 + fetched liba/1.0.0 + unpacked liba/1.0.0 + fetched baz/1.0.0 + unpacked baz/1.0.0 + configured liba/1.0.0 + configured baz/1.0.0 + %info: .+liba.+ is up to date% + %info: .+baz.+ is up to date% + updated liba/1.0.0 + updated baz/1.0.0 + EOE + + $pkg_status -r >>EOO; + !baz configured 1.0.0 + liba configured 1.0.0 + EOO + + cat cfg/liba-1.0.0/build/config.build >>~%EOO%; + %.* + config.liba.x = true + config.liba.buffer = 1024 + EOO + + $pkg_drop baz + } + } + + : proj-detect-unset + : + { + +$clone_root_cfg && $rep_add $rep/t13g && $rep_fetch + + : bar + : + { + $clone_cfg; + + $* bar 2>>EOE != 0 + :1:3: error: undefined dependency configuration variable config.liba.x + info: was config.liba.x set in earlier prefer or require clause? + info: accept condition: ($config.liba.x) + info: in depends manifest value of package bar + EOE + } + + : baz + : + { + $clone_cfg; + + $* baz 2>>EOE != 0 + :1:3: error: undefined dependency configuration variable config.liba.x + info: was config.liba.x set in earlier prefer or require clause? + info: enable condition: ($config.liba.x) + info: in depends manifest value of package baz + info: while satisfying baz/1.0.0 + EOE + } + + : biz + : + { + $clone_cfg; + + $* biz 2>>EOE != 0 + :1:12: error: undefined dependency configuration variable config.liba.x + info: was config.liba.x set in earlier prefer or require clause? + info: prefer clause: + x = (!$config.liba.x) # Error. + info: in depends manifest value of package biz + EOE + } + + : box + : + { + $clone_cfg; + + $* box 2>>EOE != 0 + :1:12: error: undefined dependency configuration variable config.liba.x + info: was config.liba.x set in earlier prefer or require clause? + info: reflect clause: + x = (!$config.liba.x) # Error. + info: in depends manifest value of package box + EOE + } + } + + : proj-cycle + : + { + +$clone_root_cfg && $rep_add $rep/t13h && $rep_fetch + + : bar baz + : + { + $clone_cfg; + + $* bar baz 2>>EOE != 0 + error: unable to negotiate acceptable configuration between dependents baz, bar for dependencies liba + info: configuration before negotiation: + config.liba.buffer=4096 (set by bar) + info: configuration after negotiation: + config.liba.buffer=8192 (set by baz) + EOE + } + } + + : proj-dependency-reflect + : + { + +$clone_root_cfg && $rep_add $rep/t13i && $rep_fetch + + : bar + : + { + $clone_cfg; + + $* bar 2>>~%EOE%; + :1:5: info: yes + info: reflect clause: + info ($config.liba.x ? yes : no) + info: in depends manifest value of package bar + build plan: + new liba/1.0.0 (required by bar) + config.liba.x=true (set by bar) + new bar/1.0.0 + fetched liba/1.0.0 + unpacked liba/1.0.0 + fetched bar/1.0.0 + unpacked bar/1.0.0 + configured liba/1.0.0 + configured bar/1.0.0 + %info: .+bar.+ is up to date% + updated bar/1.0.0 + EOE + + $pkg_status -r >>EOO; + !bar configured 1.0.0 + liba configured 1.0.0 + EOO + + cat cfg/liba-1.0.0/build/config.build >>~%EOO%; + %.* + config.liba.x = true + config.liba.buffer = 1024 + EOO + + $pkg_drop bar + } + + : baz + : + { + $clone_cfg; + + $* baz 2>>~%EOE%; + :1:5: info: 4096 + info: reflect clause: + info $config.liba.buffer + info: in depends manifest value of package baz + build plan: + new liba/1.0.0 (required by baz) + config.liba.buffer=4096 (set by baz) + new baz/1.0.0 + fetched liba/1.0.0 + unpacked liba/1.0.0 + fetched baz/1.0.0 + unpacked baz/1.0.0 + configured liba/1.0.0 + configured baz/1.0.0 + %info: .+baz.+ is up to date% + updated baz/1.0.0 + EOE + + $pkg_status -r >>EOO; + !baz configured 1.0.0 + liba configured 1.0.0 + EOO + + cat cfg/liba-1.0.0/build/config.build >>~%EOO%; + %.* + config.liba.x = false + config.liba.buffer = 4096 + EOO + + $pkg_drop baz + } + } + + : proj-non-sensible + : + { + +$clone_root_cfg && $rep_add $rep/t13j && $rep_fetch + + : bar-baz + : + { + $clone_cfg; + + $* bar baz 2>>~%EOE% != 0 + error: unable to negotiate sensible configuration for dependency liba + % .+/root.build:5:1: error: buffer must be at least 4096 if feature x is enabled% + info: negotiated configuration: + config.liba.buffer=2048 (set by bar) + config.liba.x=true (set by baz) + EOE + } + + : biz-baz + : + { + $clone_cfg; + + $* biz baz 2>>~%EOE%; + build plan: + new liba/1.0.0 (required by baz, biz) + config.liba.buffer=4096 (set by biz) + config.liba.x=true (set by baz) + new biz/1.0.0 + new baz/1.0.0 + fetched liba/1.0.0 + unpacked liba/1.0.0 + fetched biz/1.0.0 + unpacked biz/1.0.0 + fetched baz/1.0.0 + unpacked baz/1.0.0 + configured liba/1.0.0 + configured biz/1.0.0 + configured baz/1.0.0 + %info: .+biz.+ is up to date% + %info: .+baz.+ is up to date% + updated biz/1.0.0 + updated baz/1.0.0 + EOE + + $pkg_status -r >>EOO; + !biz configured 1.0.0 + liba configured 1.0.0 + !baz configured 1.0.0 + liba configured 1.0.0 + EOO + + cat cfg/liba-1.0.0/build/config.build >>~%EOO%; + %.* + config.liba.x = true + config.liba.buffer = 4096 + EOO + + $pkg_drop biz baz + } + } + + : proj-unaccept + : + { + +$clone_root_cfg && $rep_add $rep/t13k && $rep_fetch + + : bar-baz + : + { + $clone_cfg; + + $* bar baz 2>>EOE != 0 + error: unable to negotiate acceptable configuration with dependent bar for dependencies liba + info: configuration before negotiation: + config.liba.buffer=8192 (set by baz) + EOE + } + } } } diff --git a/tests/pkg-build/t13e b/tests/pkg-build/t13e new file mode 120000 index 0000000..d8d84cc --- /dev/null +++ b/tests/pkg-build/t13e @@ -0,0 +1 @@ +../common/dependency-alternatives/t13e/ \ No newline at end of file diff --git a/tests/pkg-build/t13f b/tests/pkg-build/t13f new file mode 120000 index 0000000..bf556bc --- /dev/null +++ b/tests/pkg-build/t13f @@ -0,0 +1 @@ +../common/dependency-alternatives/t13f/ \ No newline at end of file diff --git a/tests/pkg-build/t13g b/tests/pkg-build/t13g new file mode 120000 index 0000000..4dc8eb4 --- /dev/null +++ b/tests/pkg-build/t13g @@ -0,0 +1 @@ +../common/dependency-alternatives/t13g/ \ No newline at end of file diff --git a/tests/pkg-build/t13h b/tests/pkg-build/t13h new file mode 120000 index 0000000..f99413a --- /dev/null +++ b/tests/pkg-build/t13h @@ -0,0 +1 @@ +../common/dependency-alternatives/t13h/ \ No newline at end of file diff --git a/tests/pkg-build/t13i b/tests/pkg-build/t13i new file mode 120000 index 0000000..bba4fd3 --- /dev/null +++ b/tests/pkg-build/t13i @@ -0,0 +1 @@ +../common/dependency-alternatives/t13i/ \ No newline at end of file diff --git a/tests/pkg-build/t13j b/tests/pkg-build/t13j new file mode 120000 index 0000000..da120da --- /dev/null +++ b/tests/pkg-build/t13j @@ -0,0 +1 @@ +../common/dependency-alternatives/t13j/ \ No newline at end of file diff --git a/tests/pkg-build/t13k b/tests/pkg-build/t13k new file mode 120000 index 0000000..b1e5a14 --- /dev/null +++ b/tests/pkg-build/t13k @@ -0,0 +1 @@ +../common/dependency-alternatives/t13k/ \ No newline at end of file -- cgit v1.1