summaryrefslogtreecommitdiffhomepage
path: root/tests/custom/run_tests.sh
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2022-02-03 20:04:53 +0100
committerGitHub <noreply@github.com>2022-02-03 20:04:53 +0100
commit5bd764a35aeaf50b54957bfa94ba94198514baf0 (patch)
tree86b727f434302ffb28cb59278243517f9765e170 /tests/custom/run_tests.sh
parent3878da883b8a54fb863fc6dcd9b9b8949caa6300 (diff)
parent7edad5cefa0f065aa83dffd2d7830aeaf9f38662 (diff)
Merge pull request #37 from jow-/stdlib-tests
Diffstat (limited to 'tests/custom/run_tests.sh')
-rwxr-xr-xtests/custom/run_tests.sh21
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