]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | set -e | |
3 | ||
4 | TESTDIR="$(readlink -f "$(dirname "$0")")" | |
5 | . "$TESTDIR/framework" | |
6 | setupenvironment | |
7 | configarchitecture 'amd64' 'i386' | |
8 | ||
9 | insertpackage 'unstable' 'foo' 'amd64' '1' 'Provides: foo-prv' | |
10 | ||
11 | insertpackage 'unstable' 'baz1' 'amd64' '1' 'Provides: foo-prv1' | |
12 | insertpackage 'unstable' 'foo1' 'amd64' '1' 'Provides: foo-prv1' | |
13 | ||
14 | insertpackage 'unstable' 'baz2' 'amd64' '1' 'Provides: foo-prv2' | |
15 | insertpackage 'unstable' 'foo2' 'amd64' '2' 'Provides: foo-prv2:amd64' | |
16 | ||
17 | insertpackage 'unstable' 'baz3' 'amd64' '1' 'Provides: foo-prv3' | |
18 | insertpackage 'unstable' 'foo3' 'i386' '2' 'Provides: foo-prv3:amd64' | |
19 | ||
20 | insertpackage 'unstable' 'baz4' 'amd64' '1' 'Provides: foo-prv4:amd64' | |
21 | insertpackage 'unstable' 'foo4' 'i386' '2' 'Provides: foo-prv4:amd64' | |
22 | ||
23 | insertpackage 'experimental' 'baz5' 'amd64' '1' 'Provides: foo-prv5:amd64' | |
24 | insertpackage 'experimental' 'foo5' 'i386' '2' 'Provides: foo-prv5:amd64' | |
25 | ||
26 | setupaptarchive | |
27 | ||
28 | testsuccessequal "Reading package lists... | |
29 | Building dependency tree... | |
30 | Note, selecting 'foo' instead of 'foo-prv' | |
31 | The following NEW packages will be installed: | |
32 | foo | |
33 | 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. | |
34 | Inst foo (1 unstable [amd64]) | |
35 | Conf foo (1 unstable [amd64])" aptget install foo-prv -s | |
36 | ||
37 | testvirtuals() { | |
38 | testfailureequal "Reading package lists... | |
39 | Building dependency tree... | |
40 | Package $1 is a virtual package provided by: | |
41 | $3 | |
42 | $2 | |
43 | You should explicitly select one to install. | |
44 | ||
45 | E: Package '$1' has no installation candidate" aptget install $1 -s | |
46 | } | |
47 | ||
48 | testvirtuals 'foo-prv1' 'baz1 1' 'foo1 1' | |
49 | testvirtuals 'foo-prv2' 'baz2 1' 'foo2 2' | |
50 | testvirtuals 'foo-prv3' 'baz3 1' 'foo3:i386 2' | |
51 | testvirtuals 'foo-prv4' 'baz4 1' 'foo4:i386 2' | |
52 | testvirtuals 'foo-prv5' 'baz5 1' 'foo5:i386 2' | |
53 | ||
54 | echo 'Package: * | |
55 | Pin: release a=experimental | |
56 | Pin-Priority: -1' > rootdir/etc/apt/preferences.d/experimental.pref | |
57 | ||
58 | testfailureequal "Reading package lists... | |
59 | Building dependency tree... | |
60 | Package foo-prv5 is a virtual package provided by: | |
61 | foo5:i386 2 [Not candidate version] | |
62 | baz5 1 [Not candidate version] | |
63 | ||
64 | E: Package 'foo-prv5' has no installation candidate" aptget install foo-prv5 -s |