summaryrefslogtreecommitdiffstats
path: root/t/dh_install/04-sourcedir.t
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:15:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:15:44 +0000
commit1a42a93b11c48e696446250f2a1f1ca71b350e9b (patch)
tree900e3702d59f6d7cae8f7def94ed5194602f6846 /t/dh_install/04-sourcedir.t
parentInitial commit. (diff)
downloaddebhelper-1a42a93b11c48e696446250f2a1f1ca71b350e9b.tar.xz
debhelper-1a42a93b11c48e696446250f2a1f1ca71b350e9b.zip
Adding upstream version 13.3.4.upstream/13.3.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 't/dh_install/04-sourcedir.t')
-rwxr-xr-xt/dh_install/04-sourcedir.t84
1 files changed, 84 insertions, 0 deletions
diff --git a/t/dh_install/04-sourcedir.t b/t/dh_install/04-sourcedir.t
new file mode 100755
index 0000000..c624723
--- /dev/null
+++ b/t/dh_install/04-sourcedir.t
@@ -0,0 +1,84 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use Test::More;
+
+use File::Basename qw(dirname);
+use lib dirname(dirname(__FILE__));
+use Test::DH;
+use File::Path qw(remove_tree make_path);
+use Debian::Debhelper::Dh_Lib qw(!dirname);
+
+plan(tests => 6);
+
+
+each_compat_up_to_and_incl_subtest(6, sub {
+ my ($compat) = @_;
+ # debian/tmp explicitly specified in filenames in older compat level
+ make_path('debian/tmp/usr/bin');
+ create_empty_file('debian/tmp/usr/bin/foo');
+ create_empty_file('debian/tmp/usr/bin/bar');
+ ok(run_dh_tool('dh_install', 'debian/tmp/usr/bin/foo'));
+ ok(-e "debian/debhelper/usr/bin/foo");
+ ok(!-e "debian/debhelper/usr/bin/bar");
+ remove_tree('debian/debhelper', 'debian/tmp');
+});
+
+each_compat_up_to_and_incl_subtest(6, sub {
+ my ($compat) = @_;
+ # --sourcedir=debian/tmp in older compat level
+ make_path('debian/tmp/usr/bin');
+ create_empty_file('debian/tmp/usr/bin/foo');
+ create_empty_file('debian/tmp/usr/bin/bar');
+ ok(run_dh_tool('dh_install', '--sourcedir=debian/tmp', 'usr/bin/foo'));
+ ok(-e "debian/debhelper/usr/bin/foo");
+ ok(! -e "debian/debhelper/usr/bin/bar");
+ remove_tree('debian/debhelper', 'debian/tmp');
+});
+
+each_compat_from_and_above_subtest(7, sub {
+ my ($compat) = @_;
+ # redundant --sourcedir=debian/tmp in v7+
+ make_path('debian/tmp/usr/bin');
+ create_empty_file('debian/tmp/usr/bin/foo');
+ create_empty_file('debian/tmp/usr/bin/bar');
+ ok(run_dh_tool('dh_install', '--sourcedir=debian/tmp', 'usr/bin/foo'));
+ ok(-e "debian/debhelper/usr/bin/foo");
+ ok(! -e "debian/debhelper/usr/bin/bar");
+ remove_tree('debian/debhelper', 'debian/tmp');
+});
+
+each_compat_from_and_above_subtest(7, sub {
+ my ($compat) = @_;
+ # #534565: fallback use of debian/tmp in v7+
+ make_path('debian/tmp/usr/bin');
+ create_empty_file('debian/tmp/usr/bin/foo');
+ create_empty_file('debian/tmp/usr/bin/bar');
+ ok(run_dh_tool('dh_install', 'usr'));
+ ok(-e "debian/debhelper/usr/bin/foo", "#534565 [${compat}]");
+ ok(-e "debian/debhelper/usr/bin/bar", "#534565 [${compat}]");
+ remove_tree('debian/debhelper', 'debian/tmp');
+});
+
+each_compat_up_to_and_incl_subtest(6, sub {
+ my ($compat) = @_;
+ # no fallback to debian/tmp before v7
+ make_path('debian/tmp/usr/bin');
+ create_empty_file('debian/tmp/usr/bin/foo');
+ create_empty_file('debian/tmp/usr/bin/bar');
+ ok(!run_dh_tool({ 'quiet' => 1 }, 'dh_install', 'usr'));
+ ok(!-e "debian/debhelper/usr/bin/foo");
+ ok(!-e "debian/debhelper/usr/bin/bar");
+ remove_tree('debian/debhelper', 'debian/tmp');
+});
+
+
+each_compat_subtest {
+ my ($compat) = @_;
+ # specification of file in source directory not in debian/tmp
+ make_path('bar/usr/bin');
+ create_empty_file('bar/usr/bin/foo');
+ ok(run_dh_tool('dh_install', '--sourcedir=bar', 'usr/bin/foo'));
+ ok(-e "debian/debhelper/usr/bin/foo");
+ remove_tree('debian/debhelper', 'debian/tmp');
+};