diff options
author | Jo-Philipp Wich <jo@mein.io> | 2022-02-03 20:04:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-03 20:04:53 +0100 |
commit | 5bd764a35aeaf50b54957bfa94ba94198514baf0 (patch) | |
tree | 86b727f434302ffb28cb59278243517f9765e170 /tests/custom/run_tests.sh | |
parent | 3878da883b8a54fb863fc6dcd9b9b8949caa6300 (diff) | |
parent | 7edad5cefa0f065aa83dffd2d7830aeaf9f38662 (diff) |
Merge pull request #37 from jow-/stdlib-tests
Diffstat (limited to 'tests/custom/run_tests.sh')
-rwxr-xr-x | tests/custom/run_tests.sh | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/tests/custom/run_tests.sh b/tests/custom/run_tests.sh index d09859c..2f13c3b 100755 --- a/tests/custom/run_tests.sh +++ b/tests/custom/run_tests.sh @@ -40,6 +40,14 @@ extract_sections() { outfile=$(printf "%s/%03d.%s" "$dir" $count "$tag") printf "" > "$outfile" ;; + "-- File "*" --") + tag="file" + outfile="${line#-- File }" + outfile="$(echo "${outfile% --}" | xargs)" + outfile="$dir/files$(readlink -m "/${outfile:-file}")" + mkdir -p "$(dirname "$outfile")" + printf "" > "$outfile" + ;; "-- End (no-eol) --") truncate -s -1 "$outfile" tag="" @@ -72,7 +80,7 @@ run_testcase() { local fail=0 ( - cd "$topdir" + cd "$dir" IFS=$'\n' @@ -85,7 +93,10 @@ run_testcase() { IFS=$' \t\n' - $ucode_bin $args -e '{ "REQUIRE_SEARCH_PATH": [ "'"$ucode_lib"'/*.so" ] }' -i - <"$in" >"$dir/res.out" 2>"$dir/res.err" + $ucode_bin $args -e '{ + "REQUIRE_SEARCH_PATH": [ "'"$ucode_lib"'/*.so" ], + "TESTFILES_PATH": "'"$dir"'/files" + }' -i - <"$in" >"$dir/res.out" 2>"$dir/res.err" ) printf "%d\n" $? > "$dir/res.code" @@ -94,7 +105,7 @@ run_testcase() { if ! cmp -s "$dir/res.err" "${err:-$dir/empty}"; then [ $fail = 0 ] && printf "!\n" printf "Testcase #%d: Expected stderr did not match:\n" $num - diff -u --color=always --label="Expected stderr" --label="Resulting stderr" "${err:-$dir/empty}" "$dir/res.err" + diff -au --color=always --label="Expected stderr" --label="Resulting stderr" "${err:-$dir/empty}" "$dir/res.err" printf -- "---\n" fail=1 fi @@ -102,7 +113,7 @@ run_testcase() { if ! cmp -s "$dir/res.out" "${out:-$dir/empty}"; then [ $fail = 0 ] && printf "!\n" printf "Testcase #%d: Expected stdout did not match:\n" $num - diff -u --color=always --label="Expected stdout" --label="Resulting stdout" "${out:-$dir/empty}" "$dir/res.out" + diff -au --color=always --label="Expected stdout" --label="Resulting stdout" "${out:-$dir/empty}" "$dir/res.out" printf -- "---\n" fail=1 fi @@ -110,7 +121,7 @@ run_testcase() { if [ -n "$code" ] && ! cmp -s "$dir/res.code" "$code"; then [ $fail = 0 ] && printf "!\n" printf "Testcase #%d: Expected exit code did not match:\n" $num - diff -u --color=always --label="Expected code" --label="Resulting code" "$code" "$dir/res.code" + diff -au --color=always --label="Expected code" --label="Resulting code" "$code" "$dir/res.code" printf -- "---\n" fail=1 fi |