run-all.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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 p2p_autogo p2p_discovery p2p_grpform"
  24. SUFFIX=-concurrent-valgrind
  25. shift
  26. elif [ "x$1" = "xconcurrent" ]; then
  27. CONCURRENT=concurrent
  28. CONCURRENT_TESTS="-f p2p_autogo p2p_discovery 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"
  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. ./run-tests.py -D --logdir "$LOGDIR" $TRACE_ARGS -l $DB $CONCURRENT_TESTS $@ || errors=1
  60. ./stop-wifi.sh
  61. if [ ! -z "$VALGRIND" ] ; then
  62. failures=`grep "ERROR SUMMARY" $LOGDIR/valgrind-* | grep -v " 0 errors" | wc -l`
  63. if [ $failures -gt 0 ]; then
  64. echo "Mark as failed due to valgrind errors"
  65. errors=1
  66. fi
  67. fi
  68. if [ $errors -gt 0 ]; then
  69. tar czf /tmp/hwsim-tests-$DATE-FAILED$SUFFIX.tar.gz $LOGDIR/
  70. exit 1
  71. fi
  72. echo "ALL-PASSED"