]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-prevent-markinstall-multiarch-same-versionscrew
add a testcase for support of various build-dependency types
[apt.git] / test / integration / test-prevent-markinstall-multiarch-same-versionscrew
index fed12dad0de6703e9c0b841a7c9ba72ce047c6c7..a45c0d55d8e412351de32149c21ce72b3e6025b3 100755 (executable)
@@ -1,28 +1,27 @@
 #!/bin/sh
 set -e
 
 #!/bin/sh
 set -e
 
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
 setupenvironment
 configarchitecture 'amd64' 'i386' 'armel'
 
 insertpackage 'stable' 'allarchs' 'all' '1'
 insertpackage 'unstable' 'allarchs' 'all' '2'
 
 setupenvironment
 configarchitecture 'amd64' 'i386' 'armel'
 
 insertpackage 'stable' 'allarchs' 'all' '1'
 insertpackage 'unstable' 'allarchs' 'all' '2'
 
-insertinstalledpackage 'fine' 'i386,amd64' '1' 'Multi-Arch: same'
-insertpackage 'stable' 'fine' 'i386,amd64' '1' 'Multi-Arch: same'
+insertpackage 'stable,installed' 'fine' 'i386,amd64' '1' 'Multi-Arch: same'
 insertpackage 'unstable' 'fine' 'amd64,i386' '2' 'Multi-Arch: same'
 insertpackage 'unstable' 'fine' 'amd64,i386' '2' 'Multi-Arch: same'
+insertpackage 'experimental' 'fine' 'amd64,i386' '3' 'Multi-Arch: same'
 
 insertinstalledpackage 'fine-installed' 'i386,amd64' '1' 'Multi-Arch: same'
 insertpackage 'stable' 'fine-installed' 'i386,amd64,armel' '1' 'Multi-Arch: same'
 insertpackage 'unstable' 'fine-installed' 'i386,amd64' '2' 'Multi-Arch: same'
 
 insertinstalledpackage 'fine-installed' 'i386,amd64' '1' 'Multi-Arch: same'
 insertpackage 'stable' 'fine-installed' 'i386,amd64,armel' '1' 'Multi-Arch: same'
 insertpackage 'unstable' 'fine-installed' 'i386,amd64' '2' 'Multi-Arch: same'
+insertpackage 'experimental' 'fine-installed' 'i386,amd64' '3' 'Multi-Arch: same'
 
 
-insertinstalledpackage 'out-of-sync-native' 'i386,amd64' '1' 'Multi-Arch: same'
-insertpackage 'stable' 'out-of-sync-native' 'i386,amd64' '1' 'Multi-Arch: same'
+insertpackage 'stable,installed' 'out-of-sync-native' 'i386,amd64' '1' 'Multi-Arch: same'
 insertpackage 'unstable' 'out-of-sync-native' 'amd64' '2' 'Multi-Arch: same'
 
 insertpackage 'unstable' 'out-of-sync-native' 'amd64' '2' 'Multi-Arch: same'
 
-insertinstalledpackage 'out-of-sync-foreign' 'i386,amd64' '1' 'Multi-Arch: same'
-insertpackage 'stable' 'out-of-sync-foreign' 'i386,amd64' '1' 'Multi-Arch: same'
+insertpackage 'stable,installed' 'out-of-sync-foreign' 'i386,amd64' '1' 'Multi-Arch: same'
 insertpackage 'unstable' 'out-of-sync-foreign' 'i386' '2' 'Multi-Arch: same'
 
 insertinstalledpackage 'out-of-sync-gone-native' 'i386,amd64' '1' 'Multi-Arch: same'
 insertpackage 'unstable' 'out-of-sync-foreign' 'i386' '2' 'Multi-Arch: same'
 
 insertinstalledpackage 'out-of-sync-gone-native' 'i386,amd64' '1' 'Multi-Arch: same'
@@ -41,8 +40,9 @@ insertpackage 'unstable' 'libsame3' 'i386,amd64' '3' 'Multi-Arch: same'
 insertpackage 'unstable' 'depender3' 'all' '3' 'Depends: libsame3 (= 3)'
 setupaptarchive
 
 insertpackage 'unstable' 'depender3' 'all' '3' 'Depends: libsame3 (= 3)'
 setupaptarchive
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 Building dependency tree...
+Calculating upgrade...
 The following packages will be REMOVED:
   out-of-sync-gone-foreign:i386 out-of-sync-gone-native
 The following packages have been kept back:
 The following packages will be REMOVED:
   out-of-sync-gone-foreign:i386 out-of-sync-gone-native
 The following packages have been kept back:
@@ -55,14 +55,44 @@ Remv out-of-sync-gone-foreign:i386 [1]
 Remv out-of-sync-gone-native [1]
 Inst fine [1] (2 unstable [amd64]) [fine:amd64 on fine:i386] [fine:i386 on fine:amd64] [fine:i386 ]
 Inst fine:i386 [1] (2 unstable [i386])
 Remv out-of-sync-gone-native [1]
 Inst fine [1] (2 unstable [amd64]) [fine:amd64 on fine:i386] [fine:i386 on fine:amd64] [fine:i386 ]
 Inst fine:i386 [1] (2 unstable [i386])
-Conf fine (2 unstable [amd64])
-Conf fine:i386 (2 unstable [i386])
 Inst fine-installed [1] (2 unstable [amd64]) [fine-installed:amd64 on fine-installed:i386] [fine-installed:i386 on fine-installed:amd64] [fine-installed:i386 ]
 Inst fine-installed:i386 [1] (2 unstable [i386])
 Inst fine-installed [1] (2 unstable [amd64]) [fine-installed:amd64 on fine-installed:i386] [fine-installed:i386 on fine-installed:amd64] [fine-installed:i386 ]
 Inst fine-installed:i386 [1] (2 unstable [i386])
+Inst out-of-sync-gone-foreign [1] (2 unstable [amd64])
+Inst out-of-sync-gone-native:i386 [1] (2 unstable [i386])
+Conf fine (2 unstable [amd64])
+Conf fine:i386 (2 unstable [i386])
 Conf fine-installed (2 unstable [amd64])
 Conf fine-installed:i386 (2 unstable [i386])
 Conf fine-installed (2 unstable [amd64])
 Conf fine-installed:i386 (2 unstable [i386])
+Conf out-of-sync-gone-foreign (2 unstable [amd64])
+Conf out-of-sync-gone-native:i386 (2 unstable [i386])' aptget dist-upgrade -s #-o Debug::pkgDepCache::Marker=1
+
+echo 'Package: fine:* fine-installed:*
+Pin: release a=experimental
+Pin-Priority: 500' > rootdir/etc/apt/preferences.d/experimental.pref
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+Calculating upgrade...
+The following packages will be REMOVED:
+  out-of-sync-gone-foreign:i386 out-of-sync-gone-native
+The following packages have been kept back:
+  out-of-sync-foreign:i386 out-of-sync-native
+The following packages will be upgraded:
+  fine fine:i386 fine-installed fine-installed:i386 out-of-sync-gone-foreign
+  out-of-sync-gone-native:i386
+6 upgraded, 0 newly installed, 2 to remove and 2 not upgraded.
+Remv out-of-sync-gone-foreign:i386 [1]
+Remv out-of-sync-gone-native [1]
+Inst fine [1] (3 experimental [amd64]) [fine:amd64 on fine:i386] [fine:i386 on fine:amd64] [fine:i386 ]
+Inst fine:i386 [1] (3 experimental [i386])
+Inst fine-installed [1] (3 experimental [amd64]) [fine-installed:amd64 on fine-installed:i386] [fine-installed:i386 on fine-installed:amd64] [fine-installed:i386 ]
+Inst fine-installed:i386 [1] (3 experimental [i386])
 Inst out-of-sync-gone-foreign [1] (2 unstable [amd64])
 Inst out-of-sync-gone-native:i386 [1] (2 unstable [i386])
 Inst out-of-sync-gone-foreign [1] (2 unstable [amd64])
 Inst out-of-sync-gone-native:i386 [1] (2 unstable [i386])
+Conf fine (3 experimental [amd64])
+Conf fine:i386 (3 experimental [i386])
+Conf fine-installed (3 experimental [amd64])
+Conf fine-installed:i386 (3 experimental [i386])
 Conf out-of-sync-gone-foreign (2 unstable [amd64])
 Conf out-of-sync-gone-native:i386 (2 unstable [i386])' aptget dist-upgrade -s #-o Debug::pkgDepCache::Marker=1
 
 Conf out-of-sync-gone-foreign (2 unstable [amd64])
 Conf out-of-sync-gone-native:i386 (2 unstable [i386])' aptget dist-upgrade -s #-o Debug::pkgDepCache::Marker=1
 
@@ -71,7 +101,7 @@ insertinstalledpackage 'libsame2' 'i386' '1' 'Multi-Arch: same'
 insertinstalledpackage 'libsame3' 'i386' '1' 'Multi-Arch: same'
 
 # the error message isn't great, but better than nothing, right?
 insertinstalledpackage 'libsame3' 'i386' '1' 'Multi-Arch: same'
 
 # the error message isn't great, but better than nothing, right?
-testequal 'Reading package lists...
+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
 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
@@ -83,9 +113,9 @@ The following packages have unmet dependencies:
  depender2 : Depends: libsame2 (= 2) but it is not going to be installed
 E: Unable to correct problems, you have held broken packages.' aptget install depender2 -s
 
  depender2 : Depends: libsame2 (= 2) but it is not going to be installed
 E: Unable to correct problems, you have held broken packages.' aptget install depender2 -s
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 Building dependency tree...
-The following extra packages will be installed:
+The following additional packages will be installed:
   libsame3:i386 libsame3
 The following NEW packages will be installed:
   depender3 libsame3
   libsame3:i386 libsame3
 The following NEW packages will be installed:
   depender3 libsame3