diff --git a/usr.bin/xinstall/tests/install_test.sh b/usr.bin/xinstall/tests/install_test.sh index 4332f9b8268..78f81d68864 100755 --- a/usr.bin/xinstall/tests/install_test.sh +++ b/usr.bin/xinstall/tests/install_test.sh @@ -366,6 +366,20 @@ symbolic_link_relative_absolute_source_and_dest2_body() { fi } +atf_test_case symbolic_link_relative_dir_dest +symbolic_link_relative_dir_dest_body() { + printf 'test\n123\r456\r\n789\0z' >testf + mkdir destdir + atf_check install -l sr testf destdir + [ testf -ef destdir/testf ] || atf_fail "not same file" + [ -L destdir/testf ] || atf_fail "copy is not symlink" + copyf_path=$(readlink destdir/testf) + testf_path="../testf" + if [ "$copyf_path" != "$testf_path" ]; then + atf_fail "unexpected symlink contents ('$copyf_path' != '$testf_path')" + fi +} + atf_test_case mkdir_simple mkdir_simple_body() { atf_check install -d dir1/dir2 @@ -415,5 +429,6 @@ atf_init_test_cases() { atf_add_test_case symbolic_link_relative_absolute_source_and_dest1 atf_add_test_case symbolic_link_relative_absolute_source_and_dest1_double_slash atf_add_test_case symbolic_link_relative_absolute_source_and_dest2 + atf_add_test_case symbolic_link_relative_dir_dest atf_add_test_case mkdir_simple }