summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Olsson <matthewcolsson@gmail.com>2020-07-03 14:39:12 -0700
committerAndreas Kling <kling@serenityos.org>2020-07-06 23:40:35 +0200
commit4b8a3e6d78dd0be8353080890299597edc82f7b5 (patch)
tree1369ccee8a515d92a77380493cee076f03ea49e6
parentb9cf7a833f46fb6a3add0802b6b9f65f9e70ea04 (diff)
downloadserenity-4b8a3e6d78dd0be8353080890299597edc82f7b5.zip
LibJS: Refactor run-tests.sh to use the new test-js program
-rwxr-xr-xLibraries/LibJS/Tests/run-tests.sh73
1 files changed, 9 insertions, 64 deletions
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 $!