1#!/bin/sh 2# 3# Test script for e2fsck 4# 5 6LC_ALL=C 7export LC_ALL 8 9case "$1" in 10 --valgrind) 11 export USE_VALGRIND="valgrind -q --weird-hacks=lax-ioctls" 12 shift; 13esac 14 15if test "$1"x = x ; then 16 TESTS=`ls -d $SRCDIR/[a-zA-Z]_* | $EGREP -v "\.failed|\.new"` 17else 18 TESTS= 19 for i 20 do 21 case $i in 22 *.failed|*.new) continue ;; 23 [a-zA-Z]) TESTS="$TESTS $SRCDIR/${i}_*" ;; 24 *) TESTS="$TESTS $SRCDIR/$i" ;; 25 esac 26 done 27fi 28 29cmd_dir=$SRCDIR 30 31if test "$TEST_CONFIG"x = x; then 32 TEST_CONFIG=$SRCDIR/test_config 33fi 34 35. $TEST_CONFIG 36 37for test_dir in $TESTS 38do 39 test_name=`echo $test_dir | sed -e 's;.*/;;'` 40 if [ -f $test_dir ] ; then 41 continue; 42 fi 43 if [ ! -d $test_dir ] ; then 44 echo "The test '$test_name' does not exist." 45 continue; 46 fi 47 if [ -z "`ls $test_dir`" ]; then 48 continue 49 fi 50 if [ -f $test_dir/name ]; then 51 test_description=`cat $test_dir/name` 52 printf "%s: %s: " "$test_name" "$test_description" 53 else 54 printf "%s: " "$test_name" 55 fi 56 if [ -f $test_dir/script ]; then 57 . $test_dir/script 58 else 59 test_base=`echo $test_name | sed -e 's/_.*//'` 60 default_script=$SRCDIR/defaults/${test_base}_script 61 if [ -f $default_script ]; then 62 . $SRCDIR/defaults/${test_base}_script 63 else 64 echo "Missing test script!" 65 fi 66 fi 67done 68 69num_ok=`ls *.ok 2>/dev/null | wc -l` 70num_failed=`ls *.failed 2>/dev/null | wc -l` 71 72echo "$num_ok tests succeeded $num_failed tests failed" 73 74test "$num_failed" -eq 0 || exit 1 75