File: test-functions

package info (click to toggle)
dracut 020-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,536 kB
  • sloc: sh: 11,827; ansic: 1,960; makefile: 183; python: 165; perl: 55
file content (60 lines) | stat: -rw-r--r-- 1,321 bytes parent folder | download
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
export PATH

[[ -e .testdir ]] && . .testdir
if [[ -z "$TESTDIR" ]] || [[ ! -d "$TESTDIR" ]]; then
   TESTDIR=$(mktemp -d -t dracut-test.XXXXXX)
fi
echo "TESTDIR=\"$TESTDIR\"" > .testdir
export TESTDIR

command -v test_check &>/dev/null || test_check() {
    :
}

while (($# > 0)); do
    case $1 in
        --run)
	    echo "TEST RUN: $TEST_DESCRIPTION"
	    test_check && test_run
	    exit $?;;
        --setup)
	    echo "TEST SETUP: $TEST_DESCRIPTION"
	    test_check && test_setup
	    exit $?;;
        --clean)
	    echo "TEST CLEANUP: $TEST_DESCRIPTION"
	    test_cleanup
	    rm -fr "$TESTDIR"
	    rm -f .testdir
	    exit $?;;
        --all)
	    echo -n "TEST: $TEST_DESCRIPTION ";
            if ! test_check 2&>test.log ; then
                echo "[SKIPPED]"
		exit 0;
            fi
	    (
		test_setup && test_run
		ret=$?
		test_cleanup
		rm -fr "$TESTDIR"
		rm -f .testdir
		exit $ret
	    ) </dev/null >test.log 2>&1
	    ret=$?
	    if [ $ret -eq 0 ]; then
               rm test.log
	       echo "[OK]"
	    else
	       echo "[FAILED]"
	       echo "see $(pwd)/test.log"
	    fi
	    exit $ret;;
        *) break ;;
    esac
    shift
done