commit 25e116bbe3a7f0ca0b33de6e6e82d2a92b47b21f from: Sven M. Hallberg date: Sat May 17 16:44:05 2025 UTC rename tests to match new pattern (*.t) commit - b36334c10632fd4ddd6bd0db2de60e673c9db101 commit + 25e116bbe3a7f0ca0b33de6e6e82d2a92b47b21f blob - b44ac0cda14e662068ce190f013512a8b1ba4979 (mode 755) blob + /dev/null --- tests/test-error.test +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -d=`dirname $0` -exec $d/assert-exercise $0 \ - 'run 1 ok 0 fail 0 error 1\n' \ - "error $0.tst\\n\\n" < $expout -printf "$0.tst: permission denied\\nerror $0.tst\\n\\n" > $experr - -# test to run -cat > $tst << EOF -#!/bin/sh - exit 0 -EOF -# not set executable! - -# execute -$exe $tst 1>$out 2>$err - -# compare -diff -u $expout $out >&2 && \ -diff -u $experr $err >&2 -RET=$? - -rm -f $tst $out $err $expout $experr -exit $RET blob - /dev/null blob + 2aff8237a6ece1a57194e359cb84d2c4d715be2c (mode 755) --- /dev/null +++ tests/test-noexec.t @@ -0,0 +1,35 @@ +#!/bin/sh + +# the below is like assert-exercise except it doesn't set the test executable + +d=`dirname $0` +exe=$d/../exercise +tst=$0.tst +out=$0.out +err=$0.err +expout=$0.expout +experr=$0.experr + +rm -f $tst $out $err $expout $experr + +# expected output +printf 'run 1 ok 0 fail 0 error 1\n' > $expout +printf "$0.tst: permission denied\\nerror $0.tst\\n\\n" > $experr + +# test to run +cat > $tst << EOF +#!/bin/sh + exit 0 +EOF +# not set executable! + +# execute +$exe $tst 1>$out 2>$err + +# compare +diff -u $expout $out >&2 && \ +diff -u $experr $err >&2 +RET=$? + +rm -f $tst $out $err $expout $experr +exit $RET blob - 98a912e46b1402cdd6c7dc8b001083d6e96cab14 (mode 755) blob + /dev/null --- tests/test-ok.test +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -d=`dirname $0` -exec $d/assert-exercise $0 'run 1 ok 1 fail 0 error 0\n' '' <&2 - exit 127 -EOF blob - /dev/null blob + e3c95fd03ed5d4a958041aafea655f821303278d (mode 755) --- /dev/null +++ tests/test-stderr-error.t @@ -0,0 +1,13 @@ +#!/bin/sh + +# test returns error (127) and prints on stderr +# should count as error + +d=`dirname $0` +exec $d/assert-exercise $0 \ + 'run 1 ok 0 fail 0 error 1\n' \ + "test test test\\nerror $0.tst\\n\\n" <&2 + exit 127 +EOF blob - 17db9d761a8d3614cc0c40489023ed97c8c60087 (mode 755) blob + /dev/null --- tests/test-stderr-fail.test +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -# test returns failure and prints on stderr -# should count as failure - -d=`dirname $0` -exec $d/assert-exercise $0 \ - 'run 1 ok 0 fail 1 error 0\n' \ - "test test test\\nfail $0.tst\\n\\n" <&2 - exit 1 -EOF blob - /dev/null blob + 17db9d761a8d3614cc0c40489023ed97c8c60087 (mode 755) --- /dev/null +++ tests/test-stderr-fail.t @@ -0,0 +1,13 @@ +#!/bin/sh + +# test returns failure and prints on stderr +# should count as failure + +d=`dirname $0` +exec $d/assert-exercise $0 \ + 'run 1 ok 0 fail 1 error 0\n' \ + "test test test\\nfail $0.tst\\n\\n" <&2 + exit 1 +EOF blob - a4fdaa668b35e2ae26dca4ee48af1cae0877b1d1 (mode 755) blob + /dev/null --- tests/test-stderr-ok.test +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -# test returns success but prints on stderr -# should count as failure - -d=`dirname $0` -exec $d/assert-exercise $0 \ - 'run 1 ok 0 fail 1 error 0\n' \ - "test test test\\nfail $0.tst\\n\\n" <&2 - exit 0 -EOF blob - /dev/null blob + a4fdaa668b35e2ae26dca4ee48af1cae0877b1d1 (mode 755) --- /dev/null +++ tests/test-stderr-ok.t @@ -0,0 +1,13 @@ +#!/bin/sh + +# test returns success but prints on stderr +# should count as failure + +d=`dirname $0` +exec $d/assert-exercise $0 \ + 'run 1 ok 0 fail 1 error 0\n' \ + "test test test\\nfail $0.tst\\n\\n" <&2 + exit 0 +EOF blob - eb85ddb7879eaf2435d9121993845d7b57d81604 (mode 755) blob + /dev/null --- tests/testsuite-error.test +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -# if a test suite exits 127 it should count as a single test error. -# stderr should be passed through and followed by an error report. - -d=`dirname $0` -export tst=$0.testsuite -exec $d/assert-exercise $0 \ - 'run 1 ok 0 fail 0 error 1\n' \ - "test test test\\nerror $tst\\n\\n" <&2 - exit 127 -EOF blob - /dev/null blob + eb85ddb7879eaf2435d9121993845d7b57d81604 (mode 755) --- /dev/null +++ tests/testsuite-error.t @@ -0,0 +1,14 @@ +#!/bin/sh + +# if a test suite exits 127 it should count as a single test error. +# stderr should be passed through and followed by an error report. + +d=`dirname $0` +export tst=$0.testsuite +exec $d/assert-exercise $0 \ + 'run 1 ok 0 fail 0 error 1\n' \ + "test test test\\nerror $tst\\n\\n" <&2 + exit 127 +EOF blob - e16f66200f8400f9719d6563521c73cc6ee43442 (mode 755) blob + /dev/null --- tests/testsuite-progress.test +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# a test suite may report partial progress counters -# before the final summary - -d=`dirname $0` -export tst=$0.testsuite -exec $d/assert-exercise $0 \ - 'run 6 ok 1 fail 2 error 3\n' \ - '' <$0.err # create the file assert-exercise will use -err=`$STAT <$0.err` # stat it -exec $d/assert-exercise $0 \ - 'run 6 ok 1 fail 2 error 3\n' \ - "$err\\n" <&2 # stat stderr, print result to stderr - echo 'run 6 ok 1 fail 2 error 3' - exit 1 -EOF blob - /dev/null blob + 5802a625df2c81a11ac099c152b9d72f16863f53 (mode 755) --- /dev/null +++ tests/testsuite-stderr-fd.t @@ -0,0 +1,20 @@ +#!/bin/sh + +# a test suite should inherit its stderr file descr. from the parent process. + +# stat command to print device and inode number of stdin +STAT='stat -f %d.%i' # BSDs +test "`uname`" = "Linux" && STAT='stat -c %d.%i -' # GNU + +d=`dirname $0` +export tst=$0.testsuite +>$0.err # create the file assert-exercise will use +err=`$STAT <$0.err` # stat it +exec $d/assert-exercise $0 \ + 'run 6 ok 1 fail 2 error 3\n' \ + "$err\\n" <&2 # stat stderr, print result to stderr + echo 'run 6 ok 1 fail 2 error 3' + exit 1 +EOF blob - 05fa1d23556e499c8ec25377b62a9c812dfc982a (mode 755) blob + /dev/null --- tests/testsuite.test +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -# if a test's filename matches *.testsuite its stdout should be parsed as -# a summary and get integrated as a set of subtests -# an exit code other than 127 should not matter -# stderr should be passed through verbatim - -d=`dirname $0` -export tst=$0.testsuite -exec $d/assert-exercise $0 \ - 'run 6 ok 1 fail 2 error 3\n' \ - 'test test test\n' <&2 - echo 'run 6 ok 1 fail 2 error 3' - exit 1 -EOF blob - /dev/null blob + 05fa1d23556e499c8ec25377b62a9c812dfc982a (mode 755) --- /dev/null +++ tests/testsuite.t @@ -0,0 +1,17 @@ +#!/bin/sh + +# if a test's filename matches *.testsuite its stdout should be parsed as +# a summary and get integrated as a set of subtests +# an exit code other than 127 should not matter +# stderr should be passed through verbatim + +d=`dirname $0` +export tst=$0.testsuite +exec $d/assert-exercise $0 \ + 'run 6 ok 1 fail 2 error 3\n' \ + 'test test test\n' <&2 + echo 'run 6 ok 1 fail 2 error 3' + exit 1 +EOF