summaryrefslogtreecommitdiff
path: root/test/integration/test-multiarch-foreign
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2015-07-16 19:41:45 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2015-08-10 17:27:59 +0200
commitecc138f858fab61e0b888d3d13854d1422c3432b (patch)
treeb7bd372c9ee7630a157afeeaab52d04efb72a4dc /test/integration/test-multiarch-foreign
parent8c7af4d4c95d0423fbd0f3baa979792504f4f45f (diff)
just-in-time creation for (implicit) Provides
Expecting the worst is easy to code, but has its disadvantages e.g. by creating package structures which otherwise would have never existed. By creating the provides instead at the time a package structure is added we are well prepared for the introduction of partial architectures, massive amounts of M-A:foreign (and :allowed) and co as far as provides are concerned at least. We have something relatively similar for dependencies already. Many tests are added for both M-A states and the code cleaned to properly support implicit provides for foreign architectures and architectures we 'just' happen to parse. Git-Dch: Ignore
Diffstat (limited to 'test/integration/test-multiarch-foreign')
-rwxr-xr-xtest/integration/test-multiarch-foreign33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/integration/test-multiarch-foreign b/test/integration/test-multiarch-foreign
index 7870126f5..a266e35ed 100755
--- a/test/integration/test-multiarch-foreign
+++ b/test/integration/test-multiarch-foreign
@@ -9,11 +9,17 @@ configarchitecture 'amd64' 'i386' 'armel'
insertpackage 'unstable' 'cool-foo' 'amd64,i386' '1.0' 'Depends: foo'
insertpackage 'unstable' 'cool-foo-x64' 'amd64' '1.0' 'Depends: foo:amd64'
insertpackage 'unstable' 'cool-foo-x32' 'amd64' '1.0' 'Depends: foo:i386'
+insertpackage 'unstable' 'hates-foo' 'amd64,i386' '1.0' 'Conflicts: foo'
+insertpackage 'unstable' 'hates-foo-x64' 'amd64' '1.0' 'Conflicts: foo:amd64'
+insertpackage 'unstable' 'hates-foo-x32' 'amd64' '1.0' 'Conflicts: foo:i386'
insertpackage 'unstable' 'foo' 'amd64,i386,armel' '1.0' 'Multi-Arch: foreign'
insertpackage 'unstable' 'cool-bar' 'amd64,i386' '1.0' 'Depends: bar-provider'
insertpackage 'unstable' 'cool-bar-x64' 'amd64' '1.0' 'Depends: bar-provider:amd64'
insertpackage 'unstable' 'cool-bar-x32' 'amd64' '1.0' 'Depends: bar-provider:i386'
+insertpackage 'unstable' 'hates-bar' 'amd64,i386' '1.0' 'Conflicts: bar-provider'
+insertpackage 'unstable' 'hates-bar-x64' 'amd64' '1.0' 'Conflicts: bar-provider:amd64'
+insertpackage 'unstable' 'hates-bar-x32' 'amd64' '1.0' 'Conflicts: bar-provider:i386'
insertpackage 'unstable' 'bar' 'amd64,i386,armel' '1.0' 'Provides: bar-provider
Multi-Arch: foreign'
@@ -163,6 +169,33 @@ Conf foo (1.0 unstable [amd64])
Conf cool-foo-x64 (1.0 unstable [amd64])' aptget install cool-foo-x64 -s
}
+hatersgonnahate() {
+ BADPREFIX='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:
+'
+ testfailureequal "$BADPREFIX
+The following packages have unmet dependencies:
+ hates-foo : Conflicts: foo
+ Conflicts: foo:i386
+ Conflicts: foo:armel
+E: Unable to correct problems, you have held broken packages." aptget install $1 hates-foo -s
+ testfailureequal "$BADPREFIX
+The following packages have unmet dependencies:
+ hates-foo-x64 : Conflicts: foo
+E: Unable to correct problems, you have held broken packages." aptget install $1 hates-foo-x64 -s
+ testfailureequal "$BADPREFIX
+The following packages have unmet dependencies:
+ hates-foo-x32 : Conflicts: foo:i386
+E: Unable to correct problems, you have held broken packages." aptget install $1 hates-foo-x32 -s
+}
+hatersgonnahate 'foo'
+hatersgonnahate 'foo:i386'
+
#FIXME: do not work in single-arch as i386 isn't known at cache generation time
testsuccessequal 'Reading package lists...
Building dependency tree...