]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-apt-get-build-dep
deal better with (very) small apt::cache-start values
[apt.git] / test / integration / test-apt-get-build-dep
index f7af5b782c78fda6dd775f72a1dbf1ed6871d203..2cd4f57ec32d3d22a32ec00c7bf2429f7ed052dc 100755 (executable)
@@ -1,16 +1,20 @@
 #!/bin/sh
 set -e
 
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
 
 setupenvironment
-configarchitecture "i386"
+configarchitecture 'i386'
 
-buildsimplenativepackage 'debhelper' 'i386' '7' 'stable'
-buildsimplenativepackage 'build-essential' 'i386' '1' 'stable'
+insertpackage 'stable' 'debhelper' 'i386' '7'
+insertpackage 'stable' 'build-essential' 'i386' '1'
+insertpackage 'stable' 'build-depends' 'i386' '1'
+insertinstalledpackage 'build-conflict' 'i386' '1'
 
 setupaptarchive
+
+msgmsg 'Test with' 'unsigned dsc'
 cat > 2vcard_0.5-3.dsc <<EOF
 Format: 1.0
 Source: 2vcard
@@ -21,6 +25,7 @@ Maintainer: Martin Albisetti <argentina@gmail.com>
 Uploaders: Marcela Tiznado <mlt@debian.org>
 Standards-Version: 3.8.0
 Build-Depends: debhelper (>= 5.0.37)
+Build-Conflicts: build-conflict (<< 2)
 Checksums-Sha1: 
  b7f1ce31ec856414a3f0f1090689f91aa7456d56 9398 2vcard_0.5.orig.tar.gz
  5f9acd07ebda6ab00fa6b4fe3198c13e94090862 2036 2vcard_0.5-3.diff.gz
@@ -32,17 +37,29 @@ Files:
  1e806d32233af87437258d86b1561f57 2036 2vcard_0.5-3.diff.gz
 EOF
 
-testsuccessequal "Reading package lists...
+test2vcardbuilddep() {
+       testsuccessequal "Note, using file './2vcard_0.5-3.dsc' to get the build dependencies
+Reading package lists...
 Building dependency tree...
-Note, using file '2vcard_0.5-3.dsc' to get the build dependencies
+The following packages will be REMOVED:
+  build-conflict
 The following NEW packages will be installed:
   build-essential debhelper
-0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
+0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded.
+Remv build-conflict [1]
 Inst build-essential (1 stable [i386])
 Inst debhelper (7 stable [i386])
 Conf build-essential (1 stable [i386])
-Conf debhelper (7 stable [i386])" aptget build-dep -s 2vcard_0.5-3.dsc
+Conf debhelper (7 stable [i386])" aptget build-dep -s ./2vcard_0.5-3.dsc
+testfailure aptget build-dep --simulate 2vcard_0.5-3.dsc
+cd downloaded
+testsuccess aptget build-dep --simulate ../2vcard_0.5-3.dsc
+testsuccess aptget build-dep --simulate "$(readlink -f ../2vcard_0.5-3.dsc)"
+cd ..
+}
+test2vcardbuilddep
 
+msgmsg 'Test with' 'signed dsc'
 cat > 2vcard_0.5-3.dsc <<EOF
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
@@ -56,6 +73,7 @@ Maintainer: Martin Albisetti <argentina@gmail.com>
 Uploaders: Marcela Tiznado <mlt@debian.org>
 Standards-Version: 3.8.0
 Build-Depends: debhelper (>= 5.0.37)
+Build-Conflicts: build-conflict (<< 2)
 Checksums-Sha1: 
  b7f1ce31ec856414a3f0f1090689f91aa7456d56 9398 2vcard_0.5.orig.tar.gz
  5f9acd07ebda6ab00fa6b4fe3198c13e94090862 2036 2vcard_0.5-3.diff.gz
@@ -74,20 +92,10 @@ z2UAn1oXgTai6opwhVfkxrlmJ+iRxzuc
 =4eRd
 -----END PGP SIGNATURE-----
 EOF
-
-testsuccessequal "Reading package lists...
-Building dependency tree...
-Note, using file '2vcard_0.5-3.dsc' to get the build dependencies
-The following NEW packages will be installed:
-  build-essential debhelper
-0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
-Inst build-essential (1 stable [i386])
-Inst debhelper (7 stable [i386])
-Conf build-essential (1 stable [i386])
-Conf debhelper (7 stable [i386])" aptget build-dep --simulate 2vcard_0.5-3.dsc
+test2vcardbuilddep
 
 
-# unpacked source dir
+msgmsg 'Test with' 'unpacked source dir'
 mkdir -p foo-1.0/debian
 cat > foo-1.0/debian/control <<'EOF'
 Source: apturl
@@ -117,9 +125,9 @@ Description: install packages using the apt protocol - common data
 
 EOF
 
-testsuccessequal "Reading package lists...
+testsuccessequal "Note, using directory './foo-1.0' to get the build dependencies
+Reading package lists...
 Building dependency tree...
-Note, using directory './foo-1.0' to get the build dependencies
 The following NEW packages will be installed:
   build-essential debhelper
 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
@@ -127,3 +135,60 @@ Inst build-essential (1 stable [i386])
 Inst debhelper (7 stable [i386])
 Conf build-essential (1 stable [i386])
 Conf debhelper (7 stable [i386])" aptget build-dep --simulate ./foo-1.0
+testfailure aptget build-dep --simulate foo-1.0
+cd downloaded
+testsuccess aptget build-dep --simulate ../foo-1.0
+testsuccess aptget build-dep --simulate "$(readlink -f ../foo-1.0)"
+cd ..
+
+testfailureequal 'E: Must specify at least one package to check builddeps for' aptget build-dep
+testfailureequal 'E: No architecture information available for armel. See apt.conf(5) APT::Architectures for setup' aptget build-dep --simulate ./foo-1.0 -a armel
+testfailureequal 'Reading package lists...
+E: Unable to find a source package for foo' aptget build-dep --simulate foo
+
+msgmsg 'Test with a dsc' 'with comments'
+cat > comments.dsc <<EOF
+# I love comments
+# I love them so much, I give them their own paragraph
+
+#This is my first package
+Format: 3.0 (native)
+Source: comments
+Binary: comments
+Architecture: all
+Version: 1
+#Version: 2
+Maintainer: Joe Sixpack <joe@example.org>
+Build-Depends: debhelper (>= 5),
+# TODO: add more
+      build-depends (= 1),
+Standards-Version: 3.9.6
+# This is the end…
+
+# or this?
+EOF
+testsuccessequal "Note, using file './comments.dsc' to get the build dependencies
+Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+  build-depends build-essential debhelper
+0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
+Inst build-depends (1 stable [i386])
+Inst build-essential (1 stable [i386])
+Inst debhelper (7 stable [i386])
+Conf build-depends (1 stable [i386])
+Conf build-essential (1 stable [i386])
+Conf debhelper (7 stable [i386])" aptget build-dep --simulate ./comments.dsc
+testsuccessequal "Note, using file './comments.dsc' to get the build dependencies
+Reading package lists...
+Building dependency tree...
+Execute external solver...
+The following NEW packages will be installed:
+  build-depends build-essential debhelper
+0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
+Inst build-depends (1 stable [i386])
+Inst build-essential (1 stable [i386])
+Inst debhelper (7 stable [i386])
+Conf build-depends (1 stable [i386])
+Conf build-essential (1 stable [i386])
+Conf debhelper (7 stable [i386])" aptget build-dep --simulate ./comments.dsc --solver apt