summaryrefslogtreecommitdiff
path: root/t/dh_link
diff options
context:
space:
mode:
Diffstat (limited to 't/dh_link')
-rwxr-xr-xt/dh_link20
1 files changed, 16 insertions, 4 deletions
diff --git a/t/dh_link b/t/dh_link
index 3ab345e8..68c7d4e5 100755
--- a/t/dh_link
+++ b/t/dh_link
@@ -1,16 +1,28 @@
#!/usr/bin/perl
use Test;
-plan(tests => 3);
+plan(tests => 7);
# It used to not make absolute links in this situation, and it should.
# #37774
system("./dh_link","etc/foo","usr/lib/bar");
-ok("/etc/foo",readlink("debian/debhelper/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("foo",readlink("debian/debhelper/usr/bin/bar"));
+ok(readlink("debian/debhelper/usr/bin/bar"), "foo");
# ok, more complex relative links.
system("./dh_link","usr/lib/1","usr/bin/2");
-ok("../lib/1",readlink("debian/debhelper/usr/bin/2"));
+ok(readlink("debian/debhelper/usr/bin/2"),"../lib/1");
+
+# Check conversion of realitive 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");
+
+# 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");