diff --git a/initial-reverse/tests/5.desc b/initial-reverse/tests/5.desc index c6ba02c..270d1ff 100644 --- a/initial-reverse/tests/5.desc +++ b/initial-reverse/tests/5.desc @@ -1 +1 @@ -First simple test of reversing +input and output are actually the same file (hardlinked) diff --git a/initial-reverse/tests/5.err b/initial-reverse/tests/5.err index e69de29..e7d8330 100644 --- a/initial-reverse/tests/5.err +++ b/initial-reverse/tests/5.err @@ -0,0 +1 @@ +reverse: input and output file must differ diff --git a/initial-reverse/tests/5.post b/initial-reverse/tests/5.post new file mode 100644 index 0000000..d369f19 --- /dev/null +++ b/initial-reverse/tests/5.post @@ -0,0 +1 @@ +rm -f tests-out/5.in diff --git a/initial-reverse/tests/5.pre b/initial-reverse/tests/5.pre new file mode 100644 index 0000000..8acee2f --- /dev/null +++ b/initial-reverse/tests/5.pre @@ -0,0 +1 @@ +rm -f tests-out/5.in; ln tests/5.in tests-out/5.in diff --git a/initial-reverse/tests/5.rc b/initial-reverse/tests/5.rc index 573541a..d00491f 100644 --- a/initial-reverse/tests/5.rc +++ b/initial-reverse/tests/5.rc @@ -1 +1 @@ -0 +1 diff --git a/initial-reverse/tests/5.run b/initial-reverse/tests/5.run index bdd2efc..386984f 100644 --- a/initial-reverse/tests/5.run +++ b/initial-reverse/tests/5.run @@ -1,2 +1 @@ -./reverse tests/5.in tests-out/5.other - +./reverse tests/5.in tests-out/5.in diff --git a/initial-reverse/tests/6.desc b/initial-reverse/tests/6.desc index 7aa02f6..c6ba02c 100644 --- a/initial-reverse/tests/6.desc +++ b/initial-reverse/tests/6.desc @@ -1,2 +1 @@ -Standard input test - +First simple test of reversing diff --git a/initial-reverse/tests/6.in b/initial-reverse/tests/6.in new file mode 100644 index 0000000..62a2e35 --- /dev/null +++ b/initial-reverse/tests/6.in @@ -0,0 +1,5 @@ +hello +this +is +a +test diff --git a/initial-reverse/tests/5.other b/initial-reverse/tests/6.other similarity index 100% rename from initial-reverse/tests/5.other rename to initial-reverse/tests/6.other diff --git a/initial-reverse/tests/6.out b/initial-reverse/tests/6.out index 99abb54..e69de29 100644 --- a/initial-reverse/tests/6.out +++ b/initial-reverse/tests/6.out @@ -1,5 +0,0 @@ -test -a -is -this -hello diff --git a/initial-reverse/tests/6.run b/initial-reverse/tests/6.run index 8af28c1..6b8d0a4 100644 --- a/initial-reverse/tests/6.run +++ b/initial-reverse/tests/6.run @@ -1 +1 @@ -./reverse < tests/5.in +./reverse tests/6.in tests-out/6.other diff --git a/initial-reverse/tests/7.desc b/initial-reverse/tests/7.desc new file mode 100644 index 0000000..11a444f --- /dev/null +++ b/initial-reverse/tests/7.desc @@ -0,0 +1 @@ +standard input test diff --git a/initial-reverse/tests/7.err b/initial-reverse/tests/7.err new file mode 100644 index 0000000..e69de29 diff --git a/initial-reverse/tests/7.in b/initial-reverse/tests/7.in new file mode 100644 index 0000000..62a2e35 --- /dev/null +++ b/initial-reverse/tests/7.in @@ -0,0 +1,5 @@ +hello +this +is +a +test diff --git a/initial-reverse/tests/7.out b/initial-reverse/tests/7.out new file mode 100644 index 0000000..99abb54 --- /dev/null +++ b/initial-reverse/tests/7.out @@ -0,0 +1,5 @@ +test +a +is +this +hello diff --git a/initial-reverse/tests/7.rc b/initial-reverse/tests/7.rc new file mode 100644 index 0000000..573541a --- /dev/null +++ b/initial-reverse/tests/7.rc @@ -0,0 +1 @@ +0 diff --git a/initial-reverse/tests/7.run b/initial-reverse/tests/7.run new file mode 100644 index 0000000..c2e7607 --- /dev/null +++ b/initial-reverse/tests/7.run @@ -0,0 +1 @@ +./reverse < tests/7.in diff --git a/tester/run-tests.sh b/tester/run-tests.sh index 3dd5f4f..ed9154c 100755 --- a/tester/run-tests.sh +++ b/tester/run-tests.sh @@ -4,13 +4,34 @@ run_test () { local testdir=$1 local testnum=$2 + local verbose=$3 + + # pre: execute this after before the test is done, to set up local prefile=$testdir/$testnum.pre if [[ -f $prefile ]]; then eval $(cat $prefile) + if (( $verbose == 1 )); then + echo -n "pre-test: " + cat $prefile + fi fi local testfile=$testdir/$testnum.run + if (( $verbose == 1 )); then + echo -n "test: " + cat $testfile + fi eval $(cat $testfile) > tests-out/$testnum.out 2> tests-out/$testnum.err echo $? > tests-out/$testnum.rc + + # post: execute this after the test is done, to clean up + local postfile=$testdir/$testnum.post + if [[ -f $postfile ]]; then + eval $(cat $postfile) + if (( $verbose == 1 )); then + echo -n "post-test: " + cat $postfile + fi + fi return } @@ -64,7 +85,7 @@ run_and_check () { echo "running test $testnum" cat $testdir/$testnum.desc fi - run_test $testdir $testnum + run_test $testdir $testnum $verbose rccheck=$(check_test $testdir $testnum $contrunning rc) outcheck=$(check_test $testdir $testnum $contrunning out) errcheck=$(check_test $testdir $testnum $contrunning err)