1#!/bin/sh 2 3# Realpath tests. 4# Copyright 2006 by Natanael Copa <n@tanael.org> 5# Copyright 2021 by Ron Yorston <rmy@pobox.com> 6# Licensed under GPLv2, see file LICENSE in this source tree. 7 8. ./testing.sh 9 10unset LC_ALL 11unset LC_MESSAGES 12unset LANG 13unset LANGUAGE 14 15TESTDIR=realpath_testdir 16TESTLINK1="link1" 17TESTLINK2="link2" 18 19# create the dir and test files 20mkdir -p "./$TESTDIR" 21ln -s "./$TESTDIR/not_file" "./$TESTLINK1" 22ln -s "./$TESTDIR/not_file/not_dir" "./$TESTLINK2" 23 24# shell's $PWD may leave symlinks unresolved. 25# "pwd" may be a built-in and have the same problem. 26# External pwd _can't_ have that problem (current dir on Unix is physical). 27pwd=`which pwd` 28pwd=`$pwd` 29testing "realpath on non-existent absolute path 1" "realpath /not_file" "/not_file\n" "" "" 30testing "realpath on non-existent absolute path 2" "realpath /not_file/" "/not_file\n" "" "" 31testing "realpath on non-existent absolute path 3" "realpath //not_file" "/not_file\n" "" "" 32testing "realpath on non-existent absolute path 4" "realpath /not_dir/not_file 2>&1" "realpath: /not_dir/not_file: No such file or directory\n" "" "" 33 34testing "realpath on non-existent local file 1" "realpath $TESTDIR/not_file" "$pwd/$TESTDIR/not_file\n" "" "" 35testing "realpath on non-existent local file 2" "realpath $TESTDIR/not_dir/not_file 2>&1" "realpath: $TESTDIR/not_dir/not_file: No such file or directory\n" "" "" 36 37testing "realpath on link to non-existent file 1" "realpath $TESTLINK1" "$pwd/$TESTDIR/not_file\n" "" "" 38testing "realpath on link to non-existent file 2" "realpath $TESTLINK2 2>&1" "realpath: $TESTLINK2: No such file or directory\n" "" "" 39testing "realpath on link to non-existent file 3" "realpath ./$TESTLINK1" "$pwd/$TESTDIR/not_file\n" "" "" 40testing "realpath on link to non-existent file 4" "realpath ./$TESTLINK2 2>&1" "realpath: ./$TESTLINK2: No such file or directory\n" "" "" 41 42# clean up 43rm -r "$TESTLINK1" "$TESTLINK2" "$TESTDIR" 44 45exit $((FAILCOUNT <= 255 ? FAILCOUNT : 255)) 46