From 4b8a3e6d78dd0be8353080890299597edc82f7b5 Mon Sep 17 00:00:00 2001 From: Matthew Olsson Date: Fri, 3 Jul 2020 14:39:12 -0700 Subject: LibJS: Refactor run-tests.sh to use the new test-js program --- Libraries/LibJS/Tests/run-tests.sh | 73 +++++--------------------------------- 1 file changed, 9 insertions(+), 64 deletions(-) (limited to 'Libraries/LibJS/Tests/run-tests.sh') diff --git a/Libraries/LibJS/Tests/run-tests.sh b/Libraries/LibJS/Tests/run-tests.sh index 5a518361ad..66472ff513 100755 --- a/Libraries/LibJS/Tests/run-tests.sh +++ b/Libraries/LibJS/Tests/run-tests.sh @@ -1,81 +1,26 @@ #!/bin/bash if [ "$(uname)" = "SerenityOS" ]; then - js_program=/bin/js + js_program=/bin/test-js + test_root=/home/anon/js-tests else - [ -z "$js_program" ] && js_program="$SERENITY_ROOT/Build/Meta/Lagom/js" + [ -z "$js_program" ] && js_program="$SERENITY_ROOT/Build/Meta/Lagom/test-js" + test_root="$SERENITY_ROOT/Libraries/LibJS/Tests" # Enable back traces if sanitizers are enabled export UBSAN_OPTIONS=print_stacktrace=1 fi -pass_count=0 -fail_count=0 -count=0 -test_count=0 - -GLOBIGNORE=test-common.js - # FIXME: Support "find -name" in Serenity to remove the file name checks below -test_files=$(find . -type f | cut -b 3- | sort) - -for f in $test_files; do - if [ "$f" = "test-common.js" ] || [ "$f" = "run-tests.sh" ]; then - continue - fi - (( ++test_count )) -done +test_files_tmp=$(find . -type f | cut -b 3- | sort) -for f in $test_files; do +for f in $test_files_tmp; do if [ "$f" = "test-common.js" ] || [ "$f" = "run-tests.sh" ]; then continue fi - result="$("$js_program" "$@" -t "$f" 2>/dev/null)" - if [ "$result" = "PASS" ]; then - (( ++pass_count )) - echo -ne " ✅ " - else - echo -ne " ❌ " - (( ++fail_count )) - fi - echo -ne "\033]9;${count};${test_count}\033\\" - echo "$f" - - if [ "$result" != "PASS" ]; then - if [ -z "$result" ]; then - echo -e " \033[31;1mNo output. Did you forget 'console.log(\"PASS\");'?\033[0m" - else - readarray -t split_result <<< "$result"; - - echo -e " \033[31;1mOutput:\033[0m " - - for (( i = 0; i < ${#split_result[@]}; i++ )); do - echo " ${split_result[i]}" - done - fi - fi - - (( ++count )) + test_files=("${test_files[@]}" "$f"); done -echo -e "\033]9;-1\033\\" - -pass_color="" -fail_color="" -color_off="\033[0m" - -exit_code=0 - -if (( pass_count > 0 )); then - pass_color="\033[32;1m" -fi - -if (( fail_count > 0 )); then - fail_color="\033[31;1m" - exit_code=1 -fi - -echo -echo -e "Ran $count tests. Passed: ${pass_color}${pass_count}${color_off}, Failed: ${fail_color}${fail_count}${color_off}" +$js_program "$test_root" "${test_files[@]}" -exit $exit_code +exit $! -- cgit v1.2.3