From af6d35ed53de2913e10d1a381a8378eb2c5e6943 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sat, 1 Dec 2018 21:58:28 -0600 Subject: Stop testing the shell builtin, test the actual command. --- tests/test.test | 57 ++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 21 deletions(-) mode change 100755 => 100644 tests/test.test (limited to 'tests') diff --git a/tests/test.test b/tests/test.test old mode 100755 new mode 100644 index 40a90864..8b60c0bd --- a/tests/test.test +++ b/tests/test.test @@ -4,6 +4,13 @@ #testing "name" "command" "result" "infile" "stdin" +testcmd '0 args' '; echo $?' '1\n' '' '' +testcmd '1 arg' '== ; echo $?' '0\n' '' '' +testcmd '2 args' '-e == ; echo $?' '1\n' '' '' +testcmd '3 args' '-e == -e ; echo $?' '0\n' '' '' +testcmd '' '\( == \) ; echo $?' '1\n' '' '' +testcmd '' '\( == \( ; echo $?' '0\n' '' '' + # TODO: Should also have device and socket files mkdir d @@ -14,15 +21,10 @@ mkfifo p type_test() { - result="" for i in d f L s p n do - if test $* $i - then - result=$result$i - fi + "$C" $* $i && echo -n $i done - printf "%s" $result } testing "-b" "type_test -b" "" "" "" @@ -35,33 +37,46 @@ testing "-s" "type_test -s" "ds" "" "" testing "-S" "type_test -S" "" "" "" testing "-p" "type_test -p" "p" "" "" testing "-e" "type_test -e" "dfLsp" "" "" -testing "! -e" "type_test ! -e" "n" "" "" +testing "! -e" 'type_test ! -e' "n" "" "" rm f L s p rmdir d # TODO: Test rwx gu t -testing "test" "test "" || test a && echo yes" "yes\n" "" "" -testing "-n" "test -n "" || test -n a && echo yes" "yes\n" "" "" -testing "-z" "test -n a || test -n "" && echo yes" "yes\n" "" "" -testing "a = b" "test a = b || test "" = "" && echo yes" "yes\n" "" "" -testing "a != b" "test "" != "" || test a = b && echo yes" "yes\n" "" "" +testing "" "$C '' || echo yes" "yes\n" "" "" +testing "" "$C a && echo yes" "yes\n" "" "" +testing "-n" "$C -n '' || echo yes" "yes\n" "" "" +testing "-n2" "$C -n a && echo yes" "yes\n" "" "" +testing "-z" "$C -z '' && echo yes" "yes\n" "" "" +testing "-z2" "$C -z a || echo yes" "yes\n" "" "" +testing "" "$C a = b || echo yes" "yes\n" "" "" +testing "" "$C '' = '' && echo yes" "yes\n" "" "" +testing "a != b" "$C a != b && echo yes" "yes\n" "" "" +testing "a != b" "$C a != a || echo yes" "yes\n" "" "" arith_test() { - test -1 $1 1 && echo l - test 0 $1 0 && echo e - test -3 $1 -5 && echo g + $C -1 $1 1 && echo -n l + $C 0 $1 0 && echo -n e + $C -3 $1 -5 && echo -n g } -testing "-eq" "arith_test -eq" "e\n" "" "" -testing "-ne" "arith_test -ne" "l\ng\n" "" "" -testing "-gt" "arith_test -gt" "g\n" "" "" -testing "-ge" "arith_test -ge" "e\ng\n" "" "" -testing "-lt" "arith_test -lt" "l\n" "" "" -testing "-le" "arith_test -le" "l\ne\n" "" "" +testing "-eq" "arith_test -eq" "e" "" "" +testing "-ne" "arith_test -ne" "lg" "" "" +testing "-gt" "arith_test -gt" "g" "" "" +testing "-ge" "arith_test -ge" "eg" "" "" +testing "-lt" "arith_test -lt" "l" "" "" +testing "-le" "arith_test -le" "le" "" "" # test ! = -o a # test ! \( = -o a \) # test \( ! = \) -o a +# test \( \) + +#testing "" "[ -a -eq -a ] && echo yes" "yes\n" "" "" + +# -e == -a +# -e == -a -o -d != -o +# \( "x" \) -a \) == \) +# \( ! ! ! -e \) \) -- cgit v1.2.3