/[public]/getopt/trunk/run-tests
ViewVC logotype

Contents of /getopt/trunk/run-tests

Parent Directory Parent Directory | Revision Log Revision Log


Revision 368 - (show annotations)
Sun Nov 23 10:50:39 2014 UTC (9 years, 4 months ago) by frodo
File size: 1738 byte(s)
(Frodo) Add test harnass and a few basic tests

1 #!/bin/sh
2
3 if [ "$#" = 0 ]; then
4 getopt=./getopt
5 elif [ "$#" = 1 ]; then
6 getopt="$1"
7 else
8 echo "Syntax: $0 [ PATH_TO_GETOPT ]" 2>&1
9 exit 2
10 fi
11
12 # Reset the environment
13 LC_ALL="C"
14 unset LANG
15 unset LC_CTYPE
16 unset LC_COLLATE
17 unset LC_MESSAGES
18 unset POSIXLY_CORRECT
19 unset GETOPT_COMPATIBLE
20 cd `dirname $0`
21
22 for testcmd in tests/*.cmd; do
23 test_failed=0
24 rm -f test-stdout test-stderr test-stdout-expected test-stderr-expected
25
26 testfile=`basename "$testcmd" .cmd`
27
28 echo "Next test: $testfile"
29 "tests/${testfile}.cmd" "$getopt" > test-stdout 2>test-stderr
30 exitcode="$?"
31
32 if [ "$exitcode" != "`cat tests/${testfile}.exitcode`" ]; then
33 echo "TEST FAILED: expected exit code `cat tests/${testfile}.exitcode`, got $exitcode"
34 test_failed=1
35 else
36 echo "Received expected exit code"
37 fi
38
39 cat tests/${testfile}.stdout | sed "s,\$0,$getopt,g" > test-stdout-expected
40 if ! cmp -s test-stdout test-stdout-expected ; then
41 echo "TEST FAILED: unexpected stdout output, diff follows:"
42 diff test-stdout test-stdout-expected
43 test_failed=1
44 else
45 echo "Received expected stdout output"
46 fi
47
48 cat tests/${testfile}.stderr | sed "s,\$0,$getopt,g" > test-stderr-expected
49 if ! cmp -s test-stderr test-stderr-expected ; then
50 echo "TEST FAILED: unexpected stdout output, diff follows:"
51 diff test-stderr test-stderr-expected
52 test_failed=1
53 else
54 echo "Received expected stderr output"
55 fi
56 echo
57
58 if [ "$test_failed" = 1 ]; then
59 failed_tests="$failed_tests $testfile"
60 fi
61 rm -f test-stdout test-stderr test-stdout-expected test-stderr-expected
62 echo
63 done
64
65 if [ -z "$failed_tests" ]; then
66 echo "ALL TESTS SUCCEEDED"
67 exit 0
68 else
69 echo "SOME TESTS FAILED: $failed_tests"
70 exit 1
71 fi

Properties

Name Value
svn:executable *

frodo@frodo.looijaard.name
ViewVC Help
Powered by ViewVC 1.1.26