2009-12-15 05:01:36 +08:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
2013-07-23 18:20:06 +08:00
|
|
|
# Copyright (c) 2009-2013 Petri Lehtinen <petri@digip.org>
|
2009-12-15 05:01:36 +08:00
|
|
|
#
|
|
|
|
# Jansson is free software; you can redistribute it and/or modify
|
|
|
|
# it under the terms of the MIT license. See LICENSE for details.
|
|
|
|
|
|
|
|
is_test() {
|
|
|
|
test -d $test_path
|
|
|
|
}
|
|
|
|
|
2011-02-22 16:47:02 +08:00
|
|
|
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
|
|
|
|
|
2013-03-13 07:09:08 +08:00
|
|
|
STRIP=$strip $json_process --env \
|
2011-02-22 16:47:02 +08:00
|
|
|
<$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
|
|
|
|
}
|
|
|
|
|
2009-12-15 05:01:36 +08:00
|
|
|
run_test() {
|
2011-02-22 16:47:02 +08:00
|
|
|
do_run normal && do_run strip
|
2009-12-15 05:01:36 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
show_error() {
|
|
|
|
valgrind_show_error && return
|
|
|
|
|
2011-02-22 16:47:02 +08:00
|
|
|
read variant < $test_log/variant
|
|
|
|
s=".$variant"
|
|
|
|
|
|
|
|
echo "VARIANT: $variant"
|
|
|
|
|
2009-12-15 05:01:36 +08:00
|
|
|
echo "EXPECTED ERROR:"
|
2011-02-22 16:47:02 +08:00
|
|
|
ref=error
|
|
|
|
[ -f $test_path/error$s ] && ref=error$s
|
|
|
|
nl -bn $test_path/$ref
|
|
|
|
|
2009-12-15 05:01:36 +08:00
|
|
|
echo "ACTUAL ERROR:"
|
2011-02-22 16:47:02 +08:00
|
|
|
nl -bn $test_log/stderr$s
|
2009-12-15 05:01:36 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
. $top_srcdir/test/scripts/run-tests.sh
|