alltests 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/bin/bash
  2. MAXRC=0
  3. testOK=0
  4. testFAILED=0
  5. testSKIPPED=0
  6. testCOUNT=0
  7. # Est utilisé dans les script appelés pour formater la sortie
  8. export PRINTFPATTERN='%-31s %s %-70s'
  9. # Par défaut lance tous les scripts dans t/, qui sont executables sauf lui même (altests)
  10. # si un argument est donné il lance les scripts qui correspondent à $1*
  11. # exemple t/alltest 1 pour lancer tous les tests qui commencent par 1
  12. for test in t/$1*;
  13. do
  14. if test -x "$test" -a "$test" != "$0";
  15. then
  16. testCOUNT=$(($testCOUNT + 1))
  17. echo -n "[$testCOUNT] "
  18. $test
  19. RC=$?
  20. printf "RC:=(%d) (%s)\n\n" $RC $test
  21. if test "$RC" -eq "99";
  22. then
  23. testSKIPPED=$(($testSKIPPED + 1))
  24. elif test "$RC" -ne "0";
  25. then
  26. MAXRC="$RC"
  27. testFAILED=$(($testFAILED + 1))
  28. else
  29. testOK=$(($testOK + 1))
  30. fi
  31. fi
  32. done
  33. if test "$MAXRC" -eq "0";
  34. then
  35. echo "All tests : OK:$testOK/$testCOUNT FAILED:$testFAILED/$testCOUNT SKIPPED=$testSKIPPED/$testCOUNT [ OK ]"
  36. else
  37. echo "All tests : OK:$testOK/$testCOUNT FAILED:$testFAILED/$testCOUNT SKIPPED=$testSKIPPED/$testCOUNT [FAILED]"
  38. fi
  39. exit $MAXRC