#!/bin/sh # # Test the _abspath function, utilized as part of abspath.sh # # Copyright (C) 2010, Cisco Systems Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # # Ngie Cooper, January 2010 # SCRIPTS_DIR="$(readlink -f ${0%/*}/..)" TEST_PATH=$("$SCRIPTS_DIR/realpath.sh" "$SCRIPTS_DIR/lib") pushd "$TEST_PATH" >/dev/null set -- \ :$PWD \ .:$PWD \ foo/bar:$PWD/foo/bar \ /foo/bar:/foo/bar \ /foo/../bar:/bar \ /foo/bar/../baz:/foo/baz \ /foo/bar/../baz/:/foo/baz \ /foo/../bar/:/bar \ /foo/../bar/..:/ \ /foo/../bar/../:/ \ /foo/bar/../baz:/foo/baz \ /foo/./bar:/foo/bar \ /./foo/./bar:/foo/bar \ /foo//bar:/foo/bar \ //foo/bar:/foo/bar \ //////foo/bar:/foo/bar \ /foo/////bar:/foo/bar \ /a/b/c/.././:/a/b \ /.foo:/.foo \ ./.foo:$PWD/.foo \ /.foo/.bar:/.foo/.bar \ ./.foo/.bar:$PWD/.foo/.bar \ /scratch/ltp/testcases/realtime/../..:/scratch/ltp \ ..:$(dirname "$TEST_PATH") \ ../..:$(dirname "$(dirname "$TEST_PATH")") \ testcases/kernel/controllers/libcontrollers/../../../..:$PWD export TCID=test_abspath export TST_TOTAL=$# export TST_COUNT=1 . "$SCRIPTS_DIR/lib/file_functions.sh" for i in "$@"; do test_string=${i%:*} expected_string=${i#*:} result=$(_abspath "$test_string") if [ "$result" = "$expected_string" ] ; then result_s="matches expected string _abspath(${test_string}) => $result == $expected_string)" result_v=TPASS else result_s="doesn't match expected string _abspath(${test_string}) => $result != $expected_string)" result_v=TFAIL FAILED=1 fi tst_resm $result_v "Test string $result_s" : $(( TST_COUNT += 1 )) done popd >/dev/null expected_string="$PWD" test_string='""' result=$("$SCRIPTS_DIR/abspath.sh" "") if [ "$result" = "$expected_string" ] ; then result_s="matches expected string abspath.sh ${test_string} => $result == $expected_string)" result_v=TPASS else result_s="doesn't match expected string abspath.sh ${test_string} => $result != $expected_string)" result_v=TFAIL FAILED=1 fi tst_resm $result_v "Test string $result_s" : $(( TST_COUNT += 1 )) expected_string="$PWD $PWD" test_string="\"\" ." result=$("$SCRIPTS_DIR/abspath.sh" "" .) if [ "$result" = "$expected_string" ] ; then result_s="matches expected string abspath.sh ${test_string} => $result == $expected_string)" result_v=TPASS else result_s="doesn't match expected string abspath.sh ${test_string} => $result != $expected_string)" result_v=TFAIL FAILED=1 fi tst_resm $result_v "Test string $result_s" : $(( TST_COUNT += 1 )) exit ${FAILED:=0}