]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-bug-758153-versioned-provides-support
deal better with (very) small apt::cache-start values
[apt.git] / test / integration / test-bug-758153-versioned-provides-support
index 30bc921c32e5dd62bd1ae866c9bd7837862f2b1f..9899f48d9bce03f797525cd25ee1a13b54431fa3 100755 (executable)
@@ -4,8 +4,8 @@ set -e
 # dpkg implements versioned provides in commit 5bb02fe80e9f40dcad9703a72f67cf615ff217b5
 # but previous versions seem to allow parsing, working and ignoring it.
 
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
 setupenvironment
 configarchitecture 'amd64' 'i386'
 
@@ -30,6 +30,24 @@ insertpackage 'unstable' 'baz' 'i386,amd64' '1' 'Depends: bar'
 insertpackage 'experimental' 'baz' 'i386,amd64' '2' 'Depends: bar:i386'
 insertpackage 'experimental' 'baz-broken' 'i386' '2' 'Depends: bar:amd64'
 
+insertpackage 'unstable' 'next' 'amd64' '1' 'Multi-Arch: foreign
+Provides: next (= 2)'
+insertpackage 'unstable' 'needsrealnext' 'amd64,i386' '2' 'Depends: next (>= 2)'
+
+insertpackage 'unstable' 'virtualnext2' 'amd64' '1' 'Multi-Arch: foreign
+Provides: next2 (= 2)'
+insertpackage 'unstable' 'needsnext2' 'amd64,i386' '2' 'Depends: next2 (>= 2)'
+
+insertpackage 'unstable' 'virtualnext3' 'amd64' '1' 'Multi-Arch: no
+Provides: next3 (= 2)'
+insertpackage 'unstable' 'needsnext3' 'amd64,i386' '2' 'Depends: next3 (>= 2)'
+
+insertpackage 'unstable' 'selfprov' 'amd64' '2' 'Provides: selfprov (= 1)'
+insertpackage 'unstable' 'needsselfprov1' 'amd64' '1' 'Depends: selfprov (= 1)'
+insertpackage 'unstable' 'needsselfprov2' 'amd64' '1' 'Depends: selfprov (= 2)'
+insertpackage 'unstable' 'needsselfprov12' 'amd64' '1' 'Depends: selfprov (= 1), selfprov (= 2)'
+insertpackage 'unstable' 'needsselfprov123' 'amd64' '1' 'Depends: selfprov (= 1), selfprov (= 2), selfprov (= 3)'
+
 setupaptarchive
 
 testsuccessequal 'Reading package lists...
@@ -145,7 +163,7 @@ Conf cool-webapp (4 experimental [all])' aptget install cool-webapp foreign-webs
 
 testsuccessequal 'Reading package lists...
 Building dependency tree...
-The following extra packages will be installed:
+The following additional packages will be installed:
   foo
 The following NEW packages will be installed:
   baz:i386 foo
@@ -170,7 +188,7 @@ E: Unable to correct problems, you have held broken packages.' aptget install ba
 testsuccessequal "Reading package lists...
 Building dependency tree...
 Selected version '2' (experimental [amd64]) for 'baz'
-The following extra packages will be installed:
+The following additional packages will be installed:
   foo
 The following NEW packages will be installed:
   baz foo
@@ -178,12 +196,12 @@ The following NEW packages will be installed:
 Inst foo (1 unstable [all])
 Inst baz (2 experimental [amd64])
 Conf foo (1 unstable [all])
-Conf baz (2 experimental [amd64])" aptget install baz/experimental -s -q=0
+Conf baz (2 experimental [amd64])" aptget install baz/experimental -s
 
 testsuccessequal "Reading package lists...
 Building dependency tree...
 Selected version '2' (experimental [i386]) for 'baz:i386'
-The following extra packages will be installed:
+The following additional packages will be installed:
   foo
 The following NEW packages will be installed:
   baz:i386 foo
@@ -191,7 +209,7 @@ The following NEW packages will be installed:
 Inst foo (1 unstable [all])
 Inst baz:i386 (2 experimental [i386])
 Conf foo (1 unstable [all])
-Conf baz:i386 (2 experimental [i386])" aptget install baz:i386/experimental -s -q=0
+Conf baz:i386 (2 experimental [i386])" aptget install baz:i386/experimental -s
 
 testfailureequal 'Reading package lists...
 Building dependency tree...
@@ -202,5 +220,122 @@ or been moved out of Incoming.
 The following information may help to resolve the situation:
 
 The following packages have unmet dependencies:
- baz-broken:i386 : Depends: bar but it is not installable
+ baz-broken:i386 : Depends: bar:amd64 but it is not installable
 E: Unable to correct problems, you have held broken packages.' aptget install baz-broken -s
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following additional packages will be installed:
+  next
+The following NEW packages will be installed:
+  needsrealnext next
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst next (1 unstable [amd64])
+Inst needsrealnext (2 unstable [amd64])
+Conf next (1 unstable [amd64])
+Conf needsrealnext (2 unstable [amd64])' aptget install needsrealnext -s
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following additional packages will be installed:
+  next
+The following NEW packages will be installed:
+  needsrealnext:i386 next
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst next (1 unstable [amd64])
+Inst needsrealnext:i386 (2 unstable [i386])
+Conf next (1 unstable [amd64])
+Conf needsrealnext:i386 (2 unstable [i386])' aptget install needsrealnext:i386 -s
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following additional packages will be installed:
+  virtualnext2
+The following NEW packages will be installed:
+  needsnext2 virtualnext2
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst virtualnext2 (1 unstable [amd64])
+Inst needsnext2 (2 unstable [amd64])
+Conf virtualnext2 (1 unstable [amd64])
+Conf needsnext2 (2 unstable [amd64])' aptget install needsnext2 -s
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following additional packages will be installed:
+  virtualnext2
+The following NEW packages will be installed:
+  needsnext2:i386 virtualnext2
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst virtualnext2 (1 unstable [amd64])
+Inst needsnext2:i386 (2 unstable [i386])
+Conf virtualnext2 (1 unstable [amd64])
+Conf needsnext2:i386 (2 unstable [i386])' aptget install needsnext2:i386 -s
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following additional packages will be installed:
+  virtualnext3
+The following NEW packages will be installed:
+  needsnext3 virtualnext3
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst virtualnext3 (1 unstable [amd64])
+Inst needsnext3 (2 unstable [amd64])
+Conf virtualnext3 (1 unstable [amd64])
+Conf needsnext3 (2 unstable [amd64])' aptget install needsnext3 -s
+
+testfailureequal 'Reading package lists...
+Building dependency tree...
+Some packages could not be installed. This may mean that you have
+requested an impossible situation or if you are using the unstable
+distribution that some required packages have not yet been created
+or been moved out of Incoming.
+The following information may help to resolve the situation:
+
+The following packages have unmet dependencies:
+ needsnext3:i386 : Depends: next3:i386 (>= 2) but it is not installable
+E: Unable to correct problems, you have held broken packages.' aptget install needsnext3:i386 -s
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following additional packages will be installed:
+  selfprov
+The following NEW packages will be installed:
+  needsselfprov1 selfprov
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst selfprov (2 unstable [amd64])
+Inst needsselfprov1 (1 unstable [amd64])
+Conf selfprov (2 unstable [amd64])
+Conf needsselfprov1 (1 unstable [amd64])' aptget install needsselfprov1 -s
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following additional packages will be installed:
+  selfprov
+The following NEW packages will be installed:
+  needsselfprov2 selfprov
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst selfprov (2 unstable [amd64])
+Inst needsselfprov2 (1 unstable [amd64])
+Conf selfprov (2 unstable [amd64])
+Conf needsselfprov2 (1 unstable [amd64])' aptget install needsselfprov2 -s
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+The following additional packages will be installed:
+  selfprov
+The following NEW packages will be installed:
+  needsselfprov12 selfprov
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst selfprov (2 unstable [amd64])
+Inst needsselfprov12 (1 unstable [amd64])
+Conf selfprov (2 unstable [amd64])
+Conf needsselfprov12 (1 unstable [amd64])' aptget install needsselfprov12 -s
+testfailureequal 'Reading package lists...
+Building dependency tree...
+Some packages could not be installed. This may mean that you have
+requested an impossible situation or if you are using the unstable
+distribution that some required packages have not yet been created
+or been moved out of Incoming.
+The following information may help to resolve the situation:
+
+The following packages have unmet dependencies:
+ needsselfprov123 : Depends: selfprov (= 3)
+E: Unable to correct problems, you have held broken packages.' aptget install needsselfprov123 -s