summaryrefslogtreecommitdiff
path: root/test/integration/test-apt-get-install-deb
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2015-10-30 23:16:01 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2015-11-04 18:42:28 +0100
commit2f91076de326a0dee067659381a9c4cf745f0efe (patch)
treefeb88d028ec1d312143c326be87ec942c4995919 /test/integration/test-apt-get-install-deb
parent1dd20368486820efb6ef4476ad739e967174bec4 (diff)
ignore newlines in dpkg-deb control output for installing debs
Leading or trailing newlines can be confusing for our parser as it expects two newlines to start/stop a new stanza. To solve this the lines we wanna add are printed first, ignore any leading newlines and then add the stanza as provided by dpkg-deb with or without trailing newlines as the parser will look at the first stanza only anyway and removing trailing newlines is considerably harder to do. Closes: 802553
Diffstat (limited to 'test/integration/test-apt-get-install-deb')
-rwxr-xr-xtest/integration/test-apt-get-install-deb29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/integration/test-apt-get-install-deb b/test/integration/test-apt-get-install-deb
index 5af6c5bf7..c41713a92 100755
--- a/test/integration/test-apt-get-install-deb
+++ b/test/integration/test-apt-get-install-deb
@@ -74,3 +74,32 @@ The following NEW packages will be installed:
Remv foo:i386 [1.0]
Inst foo (1.0 local-deb [amd64])
Conf foo (1.0 local-deb [amd64])" aptget install ./incoming/foo_1.0_amd64.deb -s -q=0
+
+createpkg() {
+ local PKG="pkg-$1"
+ mkdir -p ./incoming/$PKG/DEBIAN
+ if [ -n "$2" ]; then
+ echo -n "$2" >> ./incoming/$PKG/DEBIAN/control
+ fi
+ echo "Package: $PKG
+Version: 0
+Priority: extra
+Maintainer: No Body <no@example.org>
+Architecture: all
+Description: test package" >> ./incoming/$PKG/DEBIAN/control
+ if [ -n "$3" ]; then
+ echo -n "$3" >> ./incoming/$PKG/DEBIAN/control
+ fi
+ testsuccess dpkg-deb --build ./incoming/$PKG/ ./incoming
+ #dpkg-deb -I ./incoming/${PKG}_0_all.deb control
+}
+createpkg 'as-it-should-be'
+createpkg 'leading-newline' '
+
+'
+createpkg 'trailing-newline' '' '
+'
+
+testsuccess aptget install ./incoming/pkg-as-it-should-be_0_all.deb
+testsuccess aptget install ./incoming/pkg-leading-newline_0_all.deb
+testsuccess aptget install ./incoming/pkg-trailing-newline_0_all.deb