6         if [ "$1" = "-q" ]; then 
   8         elif [ "$1" = "-v" ]; then 
  10         elif [ "$1" = '--color=no' ]; then 
  12         elif [ "$1" = '--color=yes' ]; then 
  14         elif [ "$1" = '--color' ]; then 
  15                 export MSGCOLOR
="$(echo "$2" | tr 'a-z' 'A-Z')" 
  17         elif [ "$1" = '--level' ]; then 
  20         elif [ "$1" = '-j' ]; then 
  23         elif [ -x "$1" ]; then 
  26                 echo >&2 "WARNING: Unknown parameter »$1« will be ignored" 
  30 export MSGLEVEL
="${MSGLEVEL:-3}" 
  32 if [ "${MSGCOLOR:-YES}" = 'YES' ]; then 
  33         if [ ! -t 1 ]; then # but check that we output to a terminal 
  37 if [ "$MSGCOLOR" != 'NO' ]; then 
  47 if [ -n "$TESTTORUN" ]; then 
  48         # collecting the output of one test to have it together 
  50         CURRENTTRAP
="rm -f \"$OUTPUT\"; $CURRENTTRAP" 
  51         trap "$CURRENTTRAP" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
 
  53                 if [ "$MSGLEVEL" -le 2 ]; then 
  54                         printf "${CTEST}Testcase ${CHIGH}${TESTTORUN##*/}${CRESET}: " 
  56                         printf "${CTEST}Run Testcase ${CHIGH}${TESTTORUN##*/}${CRESET}\n" 
  58                 if ! "$TESTTORUN"; then 
  60                         if [ "$MSGLEVEL" -le 2 ]; then 
  61                                 printf >&2 "\n${CHIGH}Running ${TESTTORUN##*/} -> FAILED${CRESET}" 
  63                                 echo >&2 "${CHIGH}Running ${TESTTORUN##*/} -> FAILED${CRESET}" 
  66                 if [ "$MSGLEVEL" -le 2 ]; then 
  70         # without we end up getting stepped output 'randomly' 
  74         if [ "$FAIL" = 'yes' ]; then 
  85 DIR
="$(readlink -f "$(dirname "$0")")" 
  86 TESTLIST="$(run-parts --list "$DIR" --regex '^test-.*$')" 
  87 if [ -n "$APT_TEST_JOBS" ]; then 
  88         if [ "$MSGCOLOR" != 'NO' ]; then 
  89                 export MSGCOLOR='ALWAYS' 
  91         exec parallel -j "$APT_TEST_JOBS" "$0" -- $(echo "$TESTLIST") 
  93 TOTAL="$(echo "$TESTLIST" | wc -l)" 
  94 for testcase in $TESTLIST; do 
  95         if [ "$MSGLEVEL" -le 2 ]; then 
  96                 printf "($(($ALL+1))/${TOTAL}) ${CTEST}Testcase 
${CHIGH}${testcase##*/}${CRESET}: " 
  98                 printf "${CTEST}Run Testcase 
($(($ALL+1))/${TOTAL}) ${CHIGH}${testcase##*/}${CRESET}\n" 
 100         if ! ${testcase}; then 
 102                 FAILED_TESTS="$FAILED_TESTS ${testcase##*/}" 
 103                 if [ "$MSGLEVEL" -le 2 ]; then 
 104                         printf >&2 "\n${CHIGH}Running 
${testcase##*/} -> FAILED
${CRESET}" 
 106                         echo >&2 "${CHIGH}Running 
${testcase##*/} -> FAILED
${CRESET}" 
 112         if [ "$MSGLEVEL" -le 2 ]; then 
 117 echo >&2 "Statistics
: $ALL tests were run
: $PASS successfully and 
$FAIL failed
" 
 118 if [ -n "$FAILED_TESTS" ]; then 
 119         echo >&2 "Failed tests
: $FAILED_TESTS" 
 121         echo >&2 'All tests seem to have been run successfully. What could possibly go wrong?' 
 123 # ensure we don't overflow 
 124 exit $((FAIL <= 255 ? FAIL : 255))