1#!/bin/sh 2 3# Readlink tests. 4# Copyright 2006 by Natanael Copa <n@tanael.org> 5# Licensed under GPLv2, see file LICENSE in this source tree. 6 7. ./testing.sh 8 9TESTDIR=readlink_testdir 10TESTFILE="$TESTDIR/testfile" 11TESTLINK="testlink" 12FAILLINK="$TESTDIR/$TESTDIR/testlink" 13 14# create the dir and test files 15mkdir -p "./$TESTDIR" 16touch "./$TESTFILE" 17ln -s "./$TESTFILE" "./$TESTLINK" 18 19testing "readlink on a file" "readlink ./$TESTFILE" "" "" "" 20testing "readlink on a link" "readlink ./$TESTLINK" "./$TESTFILE\n" "" "" 21 22optional FEATURE_READLINK_FOLLOW 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 "readlink -f on a file" "readlink -f ./$TESTFILE" "$pwd/$TESTFILE\n" "" "" 30testing "readlink -f on a link" "readlink -f ./$TESTLINK" "$pwd/$TESTFILE\n" "" "" 31testing "readlink -f on an invalid link" "readlink -f ./$FAILLINK" "" "" "" 32testing "readlink -f on a weird dir" "readlink -f $TESTDIR/../$TESTFILE" "$pwd/$TESTFILE\n" "" "" 33 34 35# clean up 36rm -r "$TESTLINK" "$TESTDIR" 37 38exit $((FAILCOUNT <= 255 ? FAILCOUNT : 255)) 39