summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorNiels Thykier <niels@thykier.net>2017-07-13 06:03:26 +0000
committerNiels Thykier <niels@thykier.net>2017-07-13 06:03:31 +0000
commit8c17ea3afc11295771e49861c860371d7cc79858 (patch)
treefca6104bb22d1b317f067f257253cc3d29b3e55c /t
parentd00d7d524f874c602e51ec2c42d85881c4bb7c7d (diff)
downloaddebhelper-8c17ea3afc11295771e49861c860371d7cc79858.tar.gz
install_{file,lib,prog}: Replace dangling symlinks
The "install" command they emulate did as well. Signed-off-by: Niels Thykier <niels@thykier.net>
Diffstat (limited to 't')
-rwxr-xr-xt/dh_installdocs/01-868204-ignore-broken-symlinks.t30
1 files changed, 30 insertions, 0 deletions
diff --git a/t/dh_installdocs/01-868204-ignore-broken-symlinks.t b/t/dh_installdocs/01-868204-ignore-broken-symlinks.t
new file mode 100755
index 00000000..b9801d24
--- /dev/null
+++ b/t/dh_installdocs/01-868204-ignore-broken-symlinks.t
@@ -0,0 +1,30 @@
+#!/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 => 1);
+
+each_compat_subtest {
+ my ($compat) = @_;
+ # #868204 - dh_installdocs did not replace dangling symlink
+ make_path('debian/debhelper/usr/share/doc/debhelper');
+ make_symlink_raw_target('../to/nowhere/bar',
+ 'debian/debhelper/usr/share/doc/debhelper/README.Debian');
+ create_empty_file('debian/README.Debian');
+
+ ok(-l 'debian/debhelper/usr/share/doc/debhelper/README.Debian');
+ ok(!-e 'debian/debhelper/usr/share/doc/debhelper/README.Debian');
+
+ ok(run_dh_tool('dh_installdocs'));
+ ok(!-l 'debian/debhelper/usr/share/doc/debhelper/README.Debian', "#868204 [${compat}]");
+ ok(-f 'debian/debhelper/usr/share/doc/debhelper/README.Debian', "#868204 [${compat}]");
+ remove_tree('debian/debhelper', 'debian/tmp');
+};
+