diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-14 20:15:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-14 20:15:44 +0000 |
commit | 1a42a93b11c48e696446250f2a1f1ca71b350e9b (patch) | |
tree | 900e3702d59f6d7cae8f7def94ed5194602f6846 /t/dh_install/04-sourcedir.t | |
parent | Initial commit. (diff) | |
download | debhelper-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-x | t/dh_install/04-sourcedir.t | 84 |
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'); +}; |