File: run-test.sh

package info (click to toggle)
pv 1.5.7-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 816 kB
  • ctags: 361
  • sloc: ansic: 4,218; sh: 669; makefile: 17
file content (45 lines) | stat: -rwxr-xr-x 978 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/sh
#
# Run a test. Parameters are program name and source directory; if
# additional parameters are given, they are the tests to run, otherwise all
# tests are run.
#

PROG="$1"
SRCDIR="$2"
shift
shift
TESTS="$*"

# Temporary working files
#
TMP1=`mktemp 2>/dev/null` || TMP1=.tmp1
TMP2=`mktemp 2>/dev/null` || TMP2=.tmp2
TMP3=`mktemp 2>/dev/null` || TMP3=.tmp3
TMP4=`mktemp 2>/dev/null` || TMP4=.tmp4

export PROG TMP1 TMP2 TMP3 TMP4	# variables used by test scripts

FAIL=0

test -n "$TESTS" || TESTS=`ls "$SRCDIR/tests" | sort -n`

for SCRIPT in $TESTS; do
	test -f "$SCRIPT" || SCRIPT="$SRCDIR/tests/$SCRIPT"
	test -f "$SCRIPT" || SCRIPT=`ls "$SRCDIR/tests/$SCRIPT"*`
	test -f "$SCRIPT" || continue

	echo `basename "$SCRIPT"`: "                " | cut -b1-20 | sed 's/-/ - /' | tr "\n" ' '

	STATUS=0
	sh -e "$SCRIPT" || STATUS=1
	test $STATUS -eq 1 && FAIL=1

	test $STATUS -eq 1 && echo "FAILED" || echo "OK"
done

rm -f $TMP1 $TMP2 $TMP3 $TMP4

exit $FAIL

# EOF