[debhelper-devel] [debhelper] 04/30: dh_link.t: Convert to Test::DH

Niels Thykier nthykier at moszumanska.debian.org
Mon Jul 3 14:40:36 UTC 2017


This is an automated email from the git hooks/post-receive script.

nthykier pushed a commit to branch master
in repository debhelper.

commit 0671bc4d5a75b5730fbc5cadd0b84ddddbd4a996
Author: Niels Thykier <niels at thykier.net>
Date:   Sun Jul 2 10:16:48 2017 +0000

    dh_link.t: Convert to Test::DH
    
    Signed-off-by: Niels Thykier <niels at thykier.net>
---
 t/dh_link.t | 103 ++++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 59 insertions(+), 44 deletions(-)

diff --git a/t/dh_link.t b/t/dh_link.t
index 6b13073..da2de1a 100755
--- a/t/dh_link.t
+++ b/t/dh_link.t
@@ -1,48 +1,63 @@
 #!/usr/bin/perl
-use Test;
-plan(tests => 13);
-
-# It used to not make absolute links in this situation, and it should.
-# #37774
-system("./dh_link","etc/foo","usr/lib/bar");
-ok(readlink("debian/debhelper/usr/lib/bar"), "/etc/foo");
-
-# let's make sure it makes simple relative links ok.
-system("./dh_link","usr/bin/foo","usr/bin/bar");
-ok(readlink("debian/debhelper/usr/bin/bar"), "foo");
-system("./dh_link","sbin/foo","sbin/bar");
-ok(readlink("debian/debhelper/sbin/bar"), "foo");
-
-# ok, more complex relative links.
-system("./dh_link","usr/lib/1","usr/bin/2");
-ok(readlink("debian/debhelper/usr/bin/2"),"../lib/1");
-
-# Check conversion of relative symlink to different top-level directory
-# into absolute symlink. (#244157)
-system("mkdir -p debian/debhelper/usr/lib; mkdir -p debian/debhelper/lib; touch debian/debhelper/lib/libm.so; cd debian/debhelper/usr/lib; ln -sf ../../lib/libm.so");
-system("./dh_link");
-ok(readlink("debian/debhelper/usr/lib/libm.so"), "/lib/libm.so");
-
-# Check links to the current directory and below, they used to be
-# unnecessarily long (#346405).
-system("./dh_link","usr/lib/geant4","usr/lib/geant4/a");
-ok(readlink("debian/debhelper/usr/lib/geant4/a"), ".");
-system("./dh_link","usr/lib","usr/lib/geant4/b");
-ok(readlink("debian/debhelper/usr/lib/geant4/b"), "..");
-system("./dh_link","usr","usr/lib/geant4/c");
-ok(readlink("debian/debhelper/usr/lib/geant4/c"), "../..");
-system("./dh_link","/","usr/lib/geant4/d");
-ok(readlink("debian/debhelper/usr/lib/geant4/d"), "/");
-
-# Link to self.
-system("./dh_link usr/lib/foo usr/lib/foo 2>/dev/null");
-ok(! -l "debian/debhelper/usr/lib/foo");
-
-# Make sure the link conversion didn't change any of the previously made
-# links.
-ok(readlink("debian/debhelper/usr/lib/bar"), "/etc/foo");
-ok(readlink("debian/debhelper/usr/bin/bar"), "foo");
-ok(readlink("debian/debhelper/usr/bin/2"),"../lib/1");
+
+use strict;
+use warnings;
+
+use Test::More;
+plan(tests => 1);
+
+use File::Path qw(remove_tree);
+use File::Basename qw(dirname);
+use lib dirname(__FILE__);
+use Test::DH;
+
+each_compat_subtest {
+
+	remove_tree('debian/debhelper');
+
+	# It used to not make absolute links in this situation, and it should.
+	# #37774
+	ok(run_dh_tool('dh_link', 'etc/foo', 'usr/lib/bar'));
+	ok(readlink("debian/debhelper/usr/lib/bar"), "/etc/foo");
+
+
+	# let's make sure it makes simple relative links ok.
+	ok(run_dh_tool('dh_link', 'usr/bin/foo', 'usr/bin/bar'));
+	ok(readlink("debian/debhelper/usr/bin/bar"), "foo");
+	ok(run_dh_tool('dh_link', 'sbin/foo', 'sbin/bar'));
+	ok(readlink("debian/debhelper/sbin/bar"), "foo");
+
+	# ok, more complex relative links.
+	ok(run_dh_tool('dh_link', 'usr/lib/1', 'usr/bin/2'));
+	ok(readlink("debian/debhelper/usr/bin/2"),"../lib/1");
+
+	# Check conversion of relative symlink to different top-level directory
+	# into absolute symlink. (#244157)
+	system("mkdir -p debian/debhelper/usr/lib; mkdir -p debian/debhelper/lib; touch debian/debhelper/lib/libm.so; cd debian/debhelper/usr/lib; ln -sf ../../lib/libm.so");
+	ok(run_dh_tool('dh_link'));
+	ok(readlink("debian/debhelper/usr/lib/libm.so"), "/lib/libm.so");
+
+	# Check links to the current directory and below, they used to be
+	# unnecessarily long (#346405).
+	ok(run_dh_tool('dh_link', 'usr/lib/geant4', 'usr/lib/geant4/a'));
+	ok(readlink("debian/debhelper/usr/lib/geant4/a"), ".");
+	ok(run_dh_tool('dh_link', 'usr/lib', 'usr/lib/geant4/b'));
+	ok(readlink("debian/debhelper/usr/lib/geant4/b"), "..");
+	ok(run_dh_tool('dh_link', 'usr', 'usr/lib/geant4/c'));
+	ok(readlink("debian/debhelper/usr/lib/geant4/c"), "../..");
+	ok(run_dh_tool('dh_link', '/', 'usr/lib/geant4/d'));
+	ok(readlink("debian/debhelper/usr/lib/geant4/d"), "/");
+
+	# Link to self.
+	ok(run_dh_tool({ 'quiet' => 1 }, 'dh_link', 'usr/lib/foo', 'usr/lib/foo'));
+	ok(! -l "debian/debhelper/usr/lib/foo");
+
+	# Make sure the link conversion didn't change any of the
+	# previously made links.
+	ok(readlink("debian/debhelper/usr/lib/bar"), "/etc/foo");
+	ok(readlink("debian/debhelper/usr/bin/bar"), "foo");
+	ok(readlink("debian/debhelper/usr/bin/2"),"../lib/1");
+};
 
 # Local Variables:
 # indent-tabs-mode: t

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debhelper/debhelper.git




More information about the debhelper-devel mailing list