]>
git.ipfire.org Git - thirdparty/dracut.git/blob - test/test-functions
2 PATH
=/sbin
:/bin
:/usr
/sbin
:/usr
/bin
5 [[ -e .testdir
${TEST_RUN_ID:+-$TEST_RUN_ID} ]] && . .testdir
${TEST_RUN_ID:+-$TEST_RUN_ID}
6 if [[ -z "$TESTDIR" ]] ||
[[ ! -d "$TESTDIR" ]]; then
7 TESTDIR
=$
(mktemp
-d -p "/var/tmp" -t dracut-test.XXXXXX
)
9 echo "TESTDIR=\"$TESTDIR\"" > .testdir
${TEST_RUN_ID:+-$TEST_RUN_ID}
12 command -v test_check
&>/dev
/null || test_check
() {
16 # terminal sequence to set color to a 'success' color (currently: green)
17 function SETCOLOR_SUCCESS
() { echo -en '\033[0;32m'; }
18 # terminal sequence to set color to a 'failure' color (currently: red)
19 function SETCOLOR_FAILURE
() { echo -en '\033[0;31m'; }
20 # terminal sequence to set color to a 'warning' color (currently: yellow)
21 function SETCOLOR_WARNING
() { echo -en '\033[0;33m'; }
22 # terminal sequence to reset to the default color.
23 function SETCOLOR_NORMAL
() { echo -en '\033[0;39m'; }
25 COLOR_SUCCESS
='\033[0;32m'
26 COLOR_FAILURE
='\033[0;31m'
27 COLOR_WARNING
='\033[0;33m'
28 COLOR_NORMAL
='\033[0;39m'
31 if (( $EUID != 0 )); then
32 SETCOLOR_FAILURE
; echo "Tests must be run as root! Please use 'sudo'."; SETCOLOR_NORMAL
41 echo "TEST RUN: $TEST_DESCRIPTION"
42 test_check
&& test_run
46 echo "TEST SETUP: $TEST_DESCRIPTION"
47 test_check
&& test_setup
50 echo "TEST CLEANUP: $TEST_DESCRIPTION"
53 rm -f -- .testdir
${TEST_RUN_ID:+-$TEST_RUN_ID}
57 if ! test_check
2&>test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
; then
58 echo -e "TEST: $TEST_DESCRIPTION " $COLOR_WARNING "[SKIPPED]" $COLOR_NORMAL
61 echo "TEST: $TEST_DESCRIPTION [STARTED]";
63 if [[ "$V" == "1" ]]; then
66 test_setup
&& test_run
69 if ((ret
!=0)) && [[ -f "$TESTDIR"/server.log
]]; then
70 mv [[ -f "$TESTDIR"/server.log
]] .
/server
${TEST_RUN_ID:+-$TEST_RUN_ID}.log
73 rm -f -- .testdir
${TEST_RUN_ID:+-$TEST_RUN_ID}
75 ) </dev
/null
2>&1 |
tee test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
76 elif [[ "$V" == "2" ]]; then
79 test_setup
&& test_run
82 if ((ret
!=0)) && [[ -f "$TESTDIR"/server.log
]]; then
83 mv "$TESTDIR"/server.log .
/server
${TEST_RUN_ID:+-$TEST_RUN_ID}.log
86 rm -f -- .testdir
${TEST_RUN_ID:+-$TEST_RUN_ID}
88 ) </dev
/null
2>&1 |
$basedir/logtee
test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
91 test_setup
&& test_run
95 rm -f -- .testdir
${TEST_RUN_ID:+-$TEST_RUN_ID}
97 ) </dev
/null
>test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
2>&1
101 if [ $ret -eq 0 ]; then
102 rm -- test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
103 echo -e "TEST: $TEST_DESCRIPTION " $COLOR_SUCCESS "[OK]" $COLOR_NORMAL
105 echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
106 if [ "$V" == "2" ]; then
107 tail -c 1048576 $
(pwd)/server
${TEST_RUN_ID:+-$TEST_RUN_ID}.log $
(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
108 echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
110 echo "see $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log"