run-all.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. if [ "$PREFILL_DB" = "y" ] ; then
  20. DB="$DB --prefill-tests"
  21. fi
  22. fi
  23. if [ "x$1" = "xconcurrent-valgrind" ]; then
  24. VALGRIND=valgrind
  25. CONCURRENT=concurrent
  26. CONCURRENT_TESTS="-f p2p_autogo p2p_discovery p2p_grpform"
  27. SUFFIX=-concurrent-valgrind
  28. shift
  29. elif [ "x$1" = "xconcurrent" ]; then
  30. CONCURRENT=concurrent
  31. CONCURRENT_TESTS="-f p2p_autogo p2p_discovery p2p_grpform"
  32. unset VALGRIND
  33. SUFFIX=-concurrent
  34. shift
  35. elif [ "x$1" = "xvalgrind" ]; then
  36. VALGRIND=valgrind
  37. unset CONCURRENT
  38. unset CONCURRENT_TESTS
  39. SUFFIX=-valgrind
  40. shift
  41. else
  42. unset VALGRIND
  43. unset CONCURRENT
  44. unset CONCURRENT_TESTS
  45. SUFFIX=
  46. fi
  47. if [ "x$1" = "xtrace" ] ; then
  48. TRACE=trace
  49. SUFFIX=$SUFFIX-trace
  50. TRACE_ARGS="-T"
  51. shift
  52. else
  53. unset TRACE
  54. unset TRACE_ARGS
  55. fi
  56. if ! ./start.sh $CONCURRENT $VALGRIND $TRACE; then
  57. if ! [ -z "$LOGBASEDIR" ] ; then
  58. echo "Could not start test environment" > $LOGDIR/run
  59. fi
  60. exit 1
  61. fi
  62. ./run-tests.py -D --logdir "$LOGDIR" $TRACE_ARGS -q $DB $CONCURRENT_TESTS $@ || errors=1
  63. ./stop.sh
  64. if [ ! -z "$VALGRIND" ] ; then
  65. failures=`grep "ERROR SUMMARY" $LOGDIR/valgrind-* | grep -v " 0 errors" | wc -l`
  66. if [ $failures -gt 0 ]; then
  67. echo "Mark as failed due to valgrind errors"
  68. errors=1
  69. fi
  70. fi
  71. if [ $errors -gt 0 ]; then
  72. tar czf /tmp/hwsim-tests-$DATE-FAILED$SUFFIX.tar.gz $LOGDIR/
  73. exit 1
  74. fi
  75. echo "ALL-PASSED"