summaryrefslogtreecommitdiff
path: root/test/integration/test-bug-758153-versioned-provides-support
diff options
context:
space:
mode:
authorMichael Vogt <mvo@ubuntu.com>2014-09-05 14:41:54 +0200
committerMichael Vogt <mvo@ubuntu.com>2014-09-05 14:41:54 +0200
commit8c782efd93342c6119e8ba2ff6989b7a164b7f3d (patch)
tree9f35af8ed996540e6a67a34cc8924dcc27094074 /test/integration/test-bug-758153-versioned-provides-support
parent19fb04e82cdc90d429777fcc4c7a2b33e34d20e5 (diff)
parent592d06b6f3c2ef2ae47c38005ae3c4e96a0841f2 (diff)
Merge branch 'debian/sid' into debian/experimental
Conflicts: apt-pkg/acquire-item.cc configure.ac debian/changelog doc/apt-verbatim.ent doc/po/apt-doc.pot doc/po/de.po doc/po/es.po doc/po/fr.po doc/po/it.po doc/po/ja.po doc/po/pt.po po/ar.po po/ast.po po/bg.po po/bs.po po/ca.po po/cs.po po/cy.po po/da.po po/de.po po/dz.po po/el.po po/es.po po/eu.po po/fi.po po/fr.po po/gl.po po/hu.po po/it.po po/ja.po po/km.po po/ko.po po/ku.po po/lt.po po/mr.po po/nb.po po/ne.po po/nl.po po/nn.po po/pl.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/sk.po po/sl.po po/sv.po po/th.po po/tl.po po/tr.po po/uk.po po/vi.po po/zh_CN.po po/zh_TW.po test/integration/test-ubuntu-bug-346386-apt-get-update-paywall
Diffstat (limited to 'test/integration/test-bug-758153-versioned-provides-support')
-rwxr-xr-xtest/integration/test-bug-758153-versioned-provides-support137
1 files changed, 137 insertions, 0 deletions
diff --git a/test/integration/test-bug-758153-versioned-provides-support b/test/integration/test-bug-758153-versioned-provides-support
new file mode 100755
index 000000000..2904ae5a1
--- /dev/null
+++ b/test/integration/test-bug-758153-versioned-provides-support
@@ -0,0 +1,137 @@
+#!/bin/sh
+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
+setupenvironment
+configarchitecture 'amd64' 'i386'
+
+insertinstalledpackage 'webapp' 'all' '1' 'Depends: httpd'
+insertinstalledpackage 'webserver' 'all' '1' 'Provides: httpd'
+
+insertpackage 'unstable' 'webapp' 'all' '2' 'Depends: httpd (>= 2)'
+insertpackage 'unstable' 'webserver' 'amd64' '2' 'Provides: httpd (= 2)'
+insertpackage 'unstable' 'foreign-webserver' 'i386' '2' 'Multi-Arch: foreign
+Provides: httpd (= 2)'
+
+insertpackage 'experimental' 'webapp' 'all' '3' 'Depends: httpd (>= 1.5)'
+insertpackage 'experimental' 'webserver' 'amd64' '3' 'Provides: httpd (= 3)'
+
+insertpackage 'experimental' 'foreign-webserver' 'i386' '4' 'Multi-Arch: foreign
+Provides: httpd (= 4)'
+insertpackage 'experimental' 'cool-webapp' 'all' '4' 'Depends: httpd (>= 4)'
+
+setupaptarchive
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following packages will be upgraded:
+ webapp webserver
+2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
+Inst webserver [1] (2 unstable [amd64])
+Inst webapp [1] (2 unstable [all])
+Conf webserver (2 unstable [amd64])
+Conf webapp (2 unstable [all])' aptget dist-upgrade -s
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following packages will be upgraded:
+ webapp webserver
+2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
+Inst webserver [1] (2 unstable [amd64])
+Inst webapp [1] (2 unstable [all])
+Conf webserver (2 unstable [amd64])
+Conf webapp (2 unstable [all])' aptget install webapp webserver -s
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following packages will be upgraded:
+ webapp webserver
+2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
+Inst webserver [1] (2 unstable [amd64])
+Inst webapp [1] (3 experimental [all])
+Conf webserver (2 unstable [amd64])
+Conf webapp (3 experimental [all])' aptget install webapp=3 webserver -s
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following packages will be upgraded:
+ webapp webserver
+2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
+Inst webserver [1] (3 experimental [amd64])
+Inst webapp [1] (2 unstable [all])
+Conf webserver (3 experimental [amd64])
+Conf webapp (2 unstable [all])' aptget install webapp webserver=3 -s
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+ foreign-webserver:i386
+The following packages will be upgraded:
+ webapp
+1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
+Inst foreign-webserver:i386 (2 unstable [i386])
+Inst webapp [1] (2 unstable [all])
+Conf foreign-webserver:i386 (2 unstable [i386])
+Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386 -s
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+ foreign-webserver:i386
+The following packages will be upgraded:
+ webapp
+1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
+Inst foreign-webserver:i386 (2 unstable [i386])
+Inst webapp [1] (3 experimental [all])
+Conf foreign-webserver:i386 (2 unstable [i386])
+Conf webapp (3 experimental [all])' aptget install webapp=3 foreign-webserver:i386 -s
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+ foreign-webserver:i386
+The following packages will be upgraded:
+ webapp
+1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
+Inst foreign-webserver:i386 (4 experimental [i386])
+Inst webapp [1] (2 unstable [all])
+Conf foreign-webserver:i386 (4 experimental [i386])
+Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386=4 -s
+
+testequal '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:
+ cool-webapp : Depends: httpd (>= 4)
+E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp -s
+
+testequal '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:
+ cool-webapp : Depends: httpd (>= 4)
+E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp foreign-webserver:i386 -s
+
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+ cool-webapp foreign-webserver:i386
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
+Inst foreign-webserver:i386 (4 experimental [i386])
+Inst cool-webapp (4 experimental [all])
+Conf foreign-webserver:i386 (4 experimental [i386])
+Conf cool-webapp (4 experimental [all])' aptget install cool-webapp foreign-webserver:i386=4 -s