run-all.sh 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #!/bin/sh
  2. errors=0
  3. umask 0002
  4. DATE="$(date +%s)"
  5. unset LOGBASEDIR
  6. if [ -z "$LOGDIR" ]; then
  7. LOGBASEDIR=logs
  8. LOGDIR=$LOGBASEDIR/$DATE
  9. mkdir -p $LOGDIR
  10. fi
  11. export LOGDIR
  12. if [ -z "$DBFILE" ]; then
  13. DB=""
  14. else
  15. DB="-S $DBFILE --commit $(git rev-parse HEAD)"
  16. if [ -n "$BUILD" ]; then
  17. DB="$DB -b $BUILD"
  18. fi
  19. fi
  20. if [ "x$1" = "xconcurrent-valgrind" ]; then
  21. VALGRIND=valgrind
  22. CONCURRENT=concurrent
  23. CONCURRENT_TESTS="-f test_p2p_autogo test_p2p_discovery test_p2p_grpform"
  24. SUFFIX=-concurrent-valgrind
  25. shift
  26. elif [ "x$1" = "xconcurrent" ]; then
  27. CONCURRENT=concurrent
  28. CONCURRENT_TESTS="-f test_p2p_autogo test_p2p_discovery test_p2p_grpform"
  29. unset VALGRIND
  30. SUFFIX=-concurrent
  31. shift
  32. elif [ "x$1" = "xvalgrind" ]; then
  33. VALGRIND=valgrind
  34. unset CONCURRENT
  35. unset CONCURRENT_TESTS
  36. SUFFIX=-valgrind
  37. shift
  38. else
  39. unset VALGRIND
  40. unset CONCURRENT
  41. unset CONCURRENT_TESTS
  42. SUFFIX=
  43. fi
  44. if [ "x$1" = "xtrace" ] ; then
  45. TRACE=trace
  46. SUFFIX=$SUFFIX-trace
  47. TRACE_ARGS="-T $LOGDIR"
  48. shift
  49. else
  50. unset TRACE
  51. unset TRACE_ARGS
  52. fi
  53. if ! ./start.sh $CONCURRENT $VALGRIND $TRACE; then
  54. if ! [ -z "$LOGBASEDIR" ] ; then
  55. echo "Could not start test environment" > $LOGDIR/run
  56. fi
  57. exit 1
  58. fi
  59. if ! [ -z "$LOGBASEDIR" ] ; then
  60. rm $LOGBASEDIR/last-debug 2>/dev/null
  61. fi
  62. ./run-tests.py $TRACE_ARGS -l $LOGDIR/run $DB -e $LOGDIR/failed -r $LOGDIR/results.txt $CONCURRENT_TESTS $@ || errors=1
  63. if ! [ -z "$LOGBASEDIR" ] ; then
  64. cat $LOGDIR/run >> $LOGBASEDIR/last-debug
  65. fi
  66. ./stop-wifi.sh
  67. if [ ! -z "$VALGRIND" ] ; then
  68. failures=`grep "ERROR SUMMARY" $LOGDIR/valgrind-* | grep -v " 0 errors" | wc -l`
  69. if [ $failures -gt 0 ]; then
  70. echo "Mark as failed due to valgrind errors"
  71. errors=1
  72. fi
  73. fi
  74. if [ $errors -gt 0 ]; then
  75. tar czf /tmp/hwsim-tests-$DATE-FAILED$SUFFIX.tar.gz $LOGDIR/
  76. exit 1
  77. fi
  78. echo "ALL-PASSED"