summaryrefslogtreecommitdiff
path: root/t/dh_link
diff options
context:
space:
mode:
Diffstat (limited to 't/dh_link')
-rwxr-xr-xt/dh_link15
1 files changed, 13 insertions, 2 deletions
diff --git a/t/dh_link b/t/dh_link
index 198b522c..daeb209b 100755
--- a/t/dh_link
+++ b/t/dh_link
@@ -1,6 +1,6 @@
#!/usr/bin/perl
use Test;
-plan(tests => 8);
+plan(tests => 12);
# It used to not make absolute links in this situation, and it should.
# #37774
@@ -17,12 +17,23 @@ ok(readlink("debian/debhelper/sbin/bar"), "foo");
system("./dh_link","usr/lib/1","usr/bin/2");
ok(readlink("debian/debhelper/usr/bin/2"),"../lib/1");
-# Check conversion of realitive symlink to different top-level directory
+# 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"), "/");
+
# Make sure the link conversion didn't change any of the previously made
# links.
ok(readlink("debian/debhelper/usr/lib/bar"), "/etc/foo");