test -d $test_path
}
+do_run() {
+ variant=$1
+ s=".$1"
+
+ strip=0
+ if [ "$variant" = "strip" ]; then
+ # This test should not be stripped
+ [ -f $test_path/nostrip ] && return
+ strip=1
+ fi
+
+ STRIP=$strip $json_process \
+ <$test_path/input >$test_log/stdout$s 2>$test_log/stderr$s
+ valgrind_check $test_log/stderr$s || return 1
+
+ ref=error
+ [ -f $test_path/error$s ] && ref=error$s
+
+ if ! cmp -s $test_path/$ref $test_log/stderr$s; then
+ echo $variant > $test_log/variant
+ return 1
+ fi
+}
+
run_test() {
- $json_process <$test_path/input >$test_log/stdout 2>$test_log/stderr
- valgrind_check $test_log/stderr || return 1
- cmp -s $test_path/error $test_log/stderr
+ do_run normal && do_run strip
}
show_error() {
valgrind_show_error && return
+ read variant < $test_log/variant
+ s=".$variant"
+
+ echo "VARIANT: $variant"
+
echo "EXPECTED ERROR:"
- nl -bn $test_path/error
+ ref=error
+ [ -f $test_path/error$s ] && ref=error$s
+ nl -bn $test_path/$ref
+
echo "ACTUAL ERROR:"
- nl -bn $test_log/stderr
+ nl -bn $test_log/stderr$s
}
. $top_srcdir/test/scripts/run-tests.sh