From: Joey Hess Date: Wed, 15 Jul 2009 13:42:08 +0000 (-0400) Subject: dh_install: Add test suite covering the last 5 bugs. X-Git-Tag: 7.2.24^0 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=452b7e6a61be42b2c345cdeeb00fbe51f88fce32;p=debhelper.git dh_install: Add test suite covering the last 5 bugs. --- diff --git a/debian/changelog b/debian/changelog index d778206..641882f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +debhelper (7.2.24) unstable; urgency=low + + * dh_install: Add test suite covering the last 5 bugs. + + -- Joey Hess Wed, 15 Jul 2009 09:42:18 -0400 + debhelper (7.2.23) unstable; urgency=low * dh_install: Fix support for the case where debian/tmp is diff --git a/dh_install b/dh_install index d01e3bc..93986ec 100755 --- a/dh_install +++ b/dh_install @@ -168,7 +168,6 @@ foreach my $package (@{$dh{DOPACKAGES}}) { $dest=$src; $dest=~s/^(.*\/)?\Q$srcdir\E\///; $dest=~s/^(.*\/)?debian\/tmp\///; - print ">>$srcdir ($dest)\n"; $dest=dirname("/".$dest); $tmpdest=1; } diff --git a/t/dh_install b/t/dh_install new file mode 100755 index 0000000..37aff7b --- /dev/null +++ b/t/dh_install @@ -0,0 +1,48 @@ +#!/usr/bin/perl +use Test; +plan(tests => 13); + +system("rm -rf debian/debhelper debian/tmp"); + +# #537140: debian/tmp is explcitly specified despite being searched by +# default in v7+ +system("mkdir -p debian/tmp/usr/bin; touch debian/tmp/usr/bin/foo; touch debian/tmp/usr/bin/bar"); +system("./dh_install", "debian/tmp/usr/bin/foo"); +ok(-e "debian/debhelper/usr/bin/foo"); +ok(! -e "debian/debhelper/usr/bin/bar"); +system("rm -rf debian/debhelper debian/tmp"); + +# #537017: --sourcedir=debian/tmp/foo is used +system("mkdir -p debian/tmp/foo/usr/bin; touch debian/tmp/foo/usr/bin/foo; touch debian/tmp/foo/usr/bin/bar"); +system("./dh_install", "--sourcedir=debian/tmp/foo", "usr/bin/bar"); +ok(-e "debian/debhelper/usr/bin/bar"); +ok(! -e "debian/debhelper/usr/bin/foo"); +system("rm -rf debian/debhelper debian/tmp"); + +# #535367: installation of entire top-level directory from debian/tmp +system("mkdir -p debian/tmp/usr/bin; touch debian/tmp/usr/bin/foo; touch debian/tmp/usr/bin/bar"); +system("./dh_install", "usr"); +ok(-e "debian/debhelper/usr/bin/foo"); +ok(-e "debian/debhelper/usr/bin/bar"); +system("rm -rf debian/debhelper debian/tmp"); + +# #534565: fallback use of debian/tmp in v7+ +system("mkdir -p debian/tmp/usr/bin; touch debian/tmp/usr/bin/foo; touch debian/tmp/usr/bin/bar"); +system("./dh_install", "usr/bin"); +ok(-e "debian/debhelper/usr/bin/foo"); +ok(-e "debian/debhelper/usr/bin/bar"); +system("rm -rf debian/debhelper debian/tmp"); + +# #534565: glob expands to dangling symlink -> should install the dangling link +system("mkdir -p debian/tmp/usr/bin; ln -s broken debian/tmp/usr/bin/foo; touch debian/tmp/usr/bin/bar"); +system("./dh_install", "usr/bin/*"); +ok(-l "debian/debhelper/usr/bin/foo"); +ok(! -e "debian/debhelper/usr/bin/foo"); +ok(-e "debian/debhelper/usr/bin/bar"); +ok(! -l "debian/debhelper/usr/bin/bar"); +system("rm -rf debian/debhelper debian/tmp"); + +# regular specification of file not in debian/tmp +system("./dh_install", "dh_install", "usr/bin"); +ok(-e "debian/debhelper/usr/bin/dh_install"); +system("rm -rf debian/debhelper debian/tmp");