#!/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 --tmpdir="/var/tmp" -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 ) 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