From 664c63ae2b2c477d8be91eeb0fd38e49af098ae1 Mon Sep 17 00:00:00 2001 From: Niels Thykier Date: Sun, 2 Jul 2017 16:07:10 +0000 Subject: t: Split dh_missing test Signed-off-by: Niels Thykier --- t/dh_missing/01-no-missing.t | 33 +++++++++++++++++++ t/dh_missing/02-fail-on-missing.t | 38 ++++++++++++++++++++++ t/dh_missing/03-dh_install-redirection.t | 35 ++++++++++++++++++++ t/dh_missing/Makefile | 7 ---- t/dh_missing/debian/changelog | 5 --- t/dh_missing/debian/control | 20 ------------ t/dh_missing/debian/foo.install | 1 - t/dh_missing/dh_missing.t | 55 -------------------------------- t/dh_missing/file-for-foo | 1 - t/dh_missing/template/Makefile | 7 ++++ t/dh_missing/template/debian/changelog | 5 +++ t/dh_missing/template/debian/control | 20 ++++++++++++ t/dh_missing/template/debian/foo.install | 1 + t/dh_missing/template/file-for-foo | 1 + 14 files changed, 140 insertions(+), 89 deletions(-) create mode 100755 t/dh_missing/01-no-missing.t create mode 100755 t/dh_missing/02-fail-on-missing.t create mode 100755 t/dh_missing/03-dh_install-redirection.t delete mode 100644 t/dh_missing/Makefile delete mode 100644 t/dh_missing/debian/changelog delete mode 100644 t/dh_missing/debian/control delete mode 100644 t/dh_missing/debian/foo.install delete mode 100755 t/dh_missing/dh_missing.t delete mode 100644 t/dh_missing/file-for-foo create mode 100644 t/dh_missing/template/Makefile create mode 100644 t/dh_missing/template/debian/changelog create mode 100644 t/dh_missing/template/debian/control create mode 100644 t/dh_missing/template/debian/foo.install create mode 100644 t/dh_missing/template/file-for-foo (limited to 't') diff --git a/t/dh_missing/01-no-missing.t b/t/dh_missing/01-no-missing.t new file mode 100755 index 00000000..2528d2d5 --- /dev/null +++ b/t/dh_missing/01-no-missing.t @@ -0,0 +1,33 @@ +#!/usr/bin/perl +use strict; +use warnings; +use Test::More; + +use File::Basename qw(dirname); +use lib dirname(dirname(__FILE__)); +use Test::DH; + +our $TEST_DH_FIXTURE_DIR = 'template'; +our @TEST_DH_EXTRA_TEMPLATE_FILES = (qw( + debian/changelog + debian/control + debian/foo.install + file-for-foo + Makefile +)); + +plan(tests => 1); + +each_compat_subtest { + # Verify dh_missing does not fail when all files are installed. + ok(run_dh_tool('dh_clean')); + is(system('make', 'install'), 0); + ok(run_dh_tool('dh_install', '--sourcedir', 'debian/tmp')); + ok(run_dh_tool('dh_missing', '--fail-missing'), 'dh_missing failed'); +}; + +# Local Variables: +# indent-tabs-mode: t +# tab-width: 4 +# cperl-indent-level: 4 +# End: diff --git a/t/dh_missing/02-fail-on-missing.t b/t/dh_missing/02-fail-on-missing.t new file mode 100755 index 00000000..fa1a6869 --- /dev/null +++ b/t/dh_missing/02-fail-on-missing.t @@ -0,0 +1,38 @@ +#!/usr/bin/perl +use strict; +use warnings; +use Test::More; + +use File::Basename qw(dirname); +use lib dirname(dirname(__FILE__)); +use Test::DH; + +our $TEST_DH_FIXTURE_DIR = 'template'; +our @TEST_DH_EXTRA_TEMPLATE_FILES = (qw( + debian/changelog + debian/control + debian/foo.install + file-for-foo + Makefile +)); + +plan(tests => 1); + +each_compat_subtest { + # Verify dh_missing does fail when not all files are installed. + ok(run_dh_tool('dh_clean')); + is(system('make', 'installmore'), 0); + ok(run_dh_tool('dh_install', '--sourcedir', 'debian/tmp')); + ok(!run_dh_tool({ 'quiet' => 1 }, 'dh_missing', '--fail-missing')); + + isnt($?, -1, 'dh_missing was executed'); + ok(! ($? & 127), 'dh_missing did not die due to a signal'); + my $exitcode = ($? >> 8); + is($exitcode, 2, 'dh_missing exited with exit code 2'); +}; + +# Local Variables: +# indent-tabs-mode: t +# tab-width: 4 +# cperl-indent-level: 4 +# End: diff --git a/t/dh_missing/03-dh_install-redirection.t b/t/dh_missing/03-dh_install-redirection.t new file mode 100755 index 00000000..ce56fec1 --- /dev/null +++ b/t/dh_missing/03-dh_install-redirection.t @@ -0,0 +1,35 @@ +#!/usr/bin/perl +use strict; +use warnings; +use Test::More; + +use File::Basename qw(dirname); +use lib dirname(dirname(__FILE__)); +use Test::DH; + +our $TEST_DH_FIXTURE_DIR = 'template'; +our @TEST_DH_EXTRA_TEMPLATE_FILES = (qw( + debian/changelog + debian/control + debian/foo.install + file-for-foo + Makefile +)); + +plan(tests => 1); + +each_compat_up_to_and_incl_subtest(10, sub { + # Verify that dh_install -X --fail-missing is passed through to dh_missing (#863447) + # dh_install -Xfile makes file-for-foo not be installed. Then we shouldn't + # complain about it not being missing. + ok(run_dh_tool('dh_clean')); + is(system('make', 'install'), 0); + ok(run_dh_tool({ 'quiet' => 1 }, 'dh_install', '--sourcedir', 'debian/tmp', + '-X', 'more', '--exclude', 'lots', '--fail-missing')); +}); + +# Local Variables: +# indent-tabs-mode: t +# tab-width: 4 +# cperl-indent-level: 4 +# End: diff --git a/t/dh_missing/Makefile b/t/dh_missing/Makefile deleted file mode 100644 index e33e1dfc..00000000 --- a/t/dh_missing/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -install: - install -m 755 -d debian/tmp/usr/bin - install -m 644 file-for-foo debian/tmp/usr/bin/file-for-foo - -installmore: install - install -m 644 file-for-foo debian/tmp/usr/bin/file-for-foo-more - install -m 644 file-for-foo debian/tmp/usr/bin/file-for-foo-lots diff --git a/t/dh_missing/debian/changelog b/t/dh_missing/debian/changelog deleted file mode 100644 index 5850f0e2..00000000 --- a/t/dh_missing/debian/changelog +++ /dev/null @@ -1,5 +0,0 @@ -foo (1.0-1) unstable; urgency=low - - * Initial release. (Closes: #XXXXXX) - - -- Test Mon, 11 Jul 2016 18:10:59 +0200 diff --git a/t/dh_missing/debian/control b/t/dh_missing/debian/control deleted file mode 100644 index 48d4de2f..00000000 --- a/t/dh_missing/debian/control +++ /dev/null @@ -1,20 +0,0 @@ -Source: foo -Section: misc -Priority: optional -Maintainer: Test -Standards-Version: 3.9.8 - -Package: foo -Architecture: all -Description: package foo - Package foo - -Package: bar -Architecture: all -Description: package bar - Package bar - -Package: baz -Architecture: all -Description: package baz - Package baz diff --git a/t/dh_missing/debian/foo.install b/t/dh_missing/debian/foo.install deleted file mode 100644 index eddea57c..00000000 --- a/t/dh_missing/debian/foo.install +++ /dev/null @@ -1 +0,0 @@ -usr/bin/*-for-foo \ No newline at end of file diff --git a/t/dh_missing/dh_missing.t b/t/dh_missing/dh_missing.t deleted file mode 100755 index 8d87f77b..00000000 --- a/t/dh_missing/dh_missing.t +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/perl -use strict; -use warnings; -use Test::More; - -use File::Basename qw(dirname); -use lib dirname(dirname(__FILE__)); -use Test::DH; - -our @TEST_DH_EXTRA_TEMPLATE_FILES = (qw( - debian/changelog - debian/control - debian/foo.install - file-for-foo - Makefile -)); - -plan(tests => 3); - -each_compat_subtest { - # Verify dh_missing does not fail when all files are installed. - ok(run_dh_tool('dh_clean')); - is(system('make', 'install'), 0); - ok(run_dh_tool('dh_install', '--sourcedir', 'debian/tmp')); - ok(run_dh_tool('dh_missing', '--fail-missing'), 'dh_missing failed'); -}; - -each_compat_subtest { - # Verify dh_missing does fail when not all files are installed. - ok(run_dh_tool('dh_clean')); - is(system('make', 'installmore'), 0); - ok(run_dh_tool('dh_install', '--sourcedir', 'debian/tmp')); - ok(!run_dh_tool({ 'quiet' => 1 }, 'dh_missing', '--fail-missing')); - - isnt($?, -1, 'dh_missing was executed'); - ok(! ($? & 127), 'dh_missing did not die due to a signal'); - my $exitcode = ($? >> 8); - is($exitcode, 2, 'dh_missing exited with exit code 2'); -}; - -each_compat_up_to_and_incl_subtest(10, sub { - # Verify that dh_install -X --fail-missing is passed through to dh_missing (#863447) - # dh_install -Xfile makes file-for-foo not be installed. Then we shouldn't - # complain about it not being missing. - ok(run_dh_tool('dh_clean')); - is(system('make', 'install'), 0); - ok(run_dh_tool({ 'quiet' => 1 }, 'dh_install', '--sourcedir', 'debian/tmp', - '-X', 'more', '--exclude', 'lots', '--fail-missing')); -}); - -# Local Variables: -# indent-tabs-mode: t -# tab-width: 4 -# cperl-indent-level: 4 -# End: diff --git a/t/dh_missing/file-for-foo b/t/dh_missing/file-for-foo deleted file mode 100644 index 8773f398..00000000 --- a/t/dh_missing/file-for-foo +++ /dev/null @@ -1 +0,0 @@ -file content \ No newline at end of file diff --git a/t/dh_missing/template/Makefile b/t/dh_missing/template/Makefile new file mode 100644 index 00000000..e33e1dfc --- /dev/null +++ b/t/dh_missing/template/Makefile @@ -0,0 +1,7 @@ +install: + install -m 755 -d debian/tmp/usr/bin + install -m 644 file-for-foo debian/tmp/usr/bin/file-for-foo + +installmore: install + install -m 644 file-for-foo debian/tmp/usr/bin/file-for-foo-more + install -m 644 file-for-foo debian/tmp/usr/bin/file-for-foo-lots diff --git a/t/dh_missing/template/debian/changelog b/t/dh_missing/template/debian/changelog new file mode 100644 index 00000000..5850f0e2 --- /dev/null +++ b/t/dh_missing/template/debian/changelog @@ -0,0 +1,5 @@ +foo (1.0-1) unstable; urgency=low + + * Initial release. (Closes: #XXXXXX) + + -- Test Mon, 11 Jul 2016 18:10:59 +0200 diff --git a/t/dh_missing/template/debian/control b/t/dh_missing/template/debian/control new file mode 100644 index 00000000..48d4de2f --- /dev/null +++ b/t/dh_missing/template/debian/control @@ -0,0 +1,20 @@ +Source: foo +Section: misc +Priority: optional +Maintainer: Test +Standards-Version: 3.9.8 + +Package: foo +Architecture: all +Description: package foo + Package foo + +Package: bar +Architecture: all +Description: package bar + Package bar + +Package: baz +Architecture: all +Description: package baz + Package baz diff --git a/t/dh_missing/template/debian/foo.install b/t/dh_missing/template/debian/foo.install new file mode 100644 index 00000000..eddea57c --- /dev/null +++ b/t/dh_missing/template/debian/foo.install @@ -0,0 +1 @@ +usr/bin/*-for-foo \ No newline at end of file diff --git a/t/dh_missing/template/file-for-foo b/t/dh_missing/template/file-for-foo new file mode 100644 index 00000000..8773f398 --- /dev/null +++ b/t/dh_missing/template/file-for-foo @@ -0,0 +1 @@ +file content \ No newline at end of file -- cgit v1.2.3