#!/bin/sh

# Readlink tests.
# Copyright 2006 by Natanael Copa <n@tanael.org>
# Licensed under GPLv2, see file LICENSE in this source tree.

. ./testing.sh

TESTDIR=readlink_testdir
TESTFILE="$TESTDIR/testfile"
TESTLINK="testlink"
FAILLINK="$TESTDIR/$TESTDIR/testlink"

# create the dir and test files
mkdir -p "./$TESTDIR"
touch "./$TESTFILE"
ln -s "./$TESTFILE" "./$TESTLINK"

testing "readlink on a file" "readlink ./$TESTFILE" "" "" ""
testing "readlink on a link" "readlink ./$TESTLINK" "./$TESTFILE\n" "" ""

optional FEATURE_READLINK_FOLLOW

# shell's $PWD may leave symlinks unresolved.
# "pwd" may be a built-in and have the same problem.
# External pwd _can't_ have that problem (current dir on Unix is physical).
pwd=`which pwd`
pwd=`$pwd`
testing "readlink -f on a file" "readlink -f ./$TESTFILE" "$pwd/$TESTFILE\n" "" ""
testing "readlink -f on a link" "readlink -f ./$TESTLINK" "$pwd/$TESTFILE\n" "" ""
testing "readlink -f on an invalid link" "readlink -f ./$FAILLINK" "" "" ""
testing "readlink -f on a wierd dir" "readlink -f $TESTDIR/../$TESTFILE" "$pwd/$TESTFILE\n" "" ""


# clean up
rm -r "$TESTLINK" "$TESTDIR"

exit $((FAILCOUNT <= 255 ? FAILCOUNT : 255))
