run-tests.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #!/bin/bash
  2. if [ "$(uname)" = "SerenityOS" ]; then
  3. js_program=/bin/js
  4. else
  5. [ -z "$js_program" ] && js_program="$SERENITY_ROOT/Build/Meta/Lagom/js"
  6. # Enable back traces if sanitizers are enabled
  7. export UBSAN_OPTIONS=print_stacktrace=1
  8. fi
  9. pass_count=0
  10. fail_count=0
  11. count=0
  12. test_count=0
  13. GLOBIGNORE=test-common.js
  14. for f in *.js; do
  15. (( ++test_count ))
  16. done
  17. for f in *.js; do
  18. result="$("$js_program" "$@" -t "$f" 2>/dev/null)"
  19. if [ "$result" = "PASS" ]; then
  20. (( ++pass_count ))
  21. echo -ne "( \033[32;1mPass\033[0m ) "
  22. else
  23. echo -ne "( \033[31;1mFail\033[0m ) "
  24. (( ++fail_count ))
  25. fi
  26. echo -ne "\033]9;${count};${test_count}\033\\"
  27. echo "$f"
  28. (( ++count ))
  29. done
  30. echo -e "\033]9;-1\033\\"
  31. pass_color=""
  32. fail_color=""
  33. color_off="\033[0m"
  34. exit_code=0
  35. if (( pass_count > 0 )); then
  36. pass_color="\033[32;1m"
  37. fi
  38. if (( fail_count > 0 )); then
  39. fail_color="\033[31;1m"
  40. exit_code=1
  41. fi
  42. echo
  43. echo -e "Ran $count tests. Passed: ${pass_color}${pass_count}${color_off}, Failed: ${fail_color}${fail_count}${color_off}"
  44. exit $exit_code