run-tests 983 B

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