From c5d64a7f9b1db4e98aff95c237342a793e40c6f5 Mon Sep 17 00:00:00 2001 From: joeyh Date: Sun, 8 Jan 2006 04:13:06 +0000 Subject: r1843: * dh_link: add special case handling for paths to a directory containing the link. Closes: #346405 * dh_link: add special case handling for link to / --- t/dh_link | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 't/dh_link') 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"); -- cgit v1.2.3