busybox/testsuite/readlink.tests
<<
>>
Prefs
   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