run-all.sh 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #!/bin/sh
  2. errors=0
  3. umask 0002
  4. if [ -z "$LOGDIR" ]; then
  5. LOGDIR=logs
  6. fi
  7. if [ -z "$DBFILE" ]; then
  8. DB=""
  9. else
  10. DB="-S $DBFILE"
  11. if [ -n "$BUILD" ]; then
  12. DB="$DB -b $BUILD"
  13. fi
  14. fi
  15. if [ "x$1" = "xconcurrent-valgrind" ]; then
  16. VALGRIND=valgrind
  17. CONCURRENT=concurrent
  18. CONCURRENT_TESTS="-f test_p2p_autogo test_p2p_discovery test_p2p_grpform"
  19. SUFFIX=-concurrent-valgrind
  20. shift
  21. elif [ "x$1" = "xconcurrent" ]; then
  22. CONCURRENT=concurrent
  23. CONCURRENT_TESTS="-f test_p2p_autogo test_p2p_discovery test_p2p_grpform"
  24. unset VALGRIND
  25. SUFFIX=-concurrent
  26. shift
  27. elif [ "x$1" = "xvalgrind" ]; then
  28. VALGRIND=valgrind
  29. unset CONCURRENT
  30. unset CONCURRENT_TESTS
  31. SUFFIX=-valgrind
  32. shift
  33. else
  34. unset VALGRIND
  35. unset CONCURRENT
  36. unset CONCURRENT_TESTS
  37. SUFFIX=
  38. fi
  39. if [ "x$1" = "xtrace" ] ; then
  40. TRACE=trace
  41. SUFFIX=$SUFFIX-trace
  42. else
  43. unset TRACE
  44. fi
  45. if ! ./start.sh $CONCURRENT $VALGRIND $TRACE; then
  46. echo "Could not start test environment" > $LOGDIR/last-debug
  47. exit 1
  48. fi
  49. DATE=`ls -1tr $LOGDIR | tail -1 | cut -f1 -d-`
  50. rm $LOGDIR/last-debug 2>/dev/null
  51. RUNTESTS="./run-tests.py -l $LOGDIR/$DATE-run $DB -e $LOGDIR/$DATE-failed -r $LOGDIR/results.txt $CONCURRENT_TESTS"
  52. if [ "$TRACE" != "" ] ; then
  53. sudo trace-cmd record -o $LOGDIR/$DATE-trace.dat -e mac80211 -e cfg80211 su $USER -c $RUNTESTS || errors=1
  54. else
  55. $RUNTESTS || errors=1
  56. fi
  57. cat $LOGDIR/$DATE-run >> $LOGDIR/last-debug
  58. ./stop-wifi.sh
  59. if [ ! -z "$VALGRIND" ] ; then
  60. failures=`grep "ERROR SUMMARY" $LOGDIR/$DATE-valgrind-* | grep -v " 0 errors" | wc -l`
  61. if [ $failures -gt 0 ]; then
  62. echo "Mark as failed due to valgrind errors"
  63. errors=1
  64. fi
  65. fi
  66. if [ $errors -gt 0 ]; then
  67. tar czf /tmp/hwsim-tests-$DATE-FAILED$SUFFIX.tar.gz $LOGDIR/$DATE*
  68. exit 1
  69. fi
  70. echo "ALL-PASSED"