b1b4f307d5
Enable using the old envrionment variable passing of settings for json_process so that the current autoconf test suite scripts can run nicely. json_process now takes an optional command line parameter --env which causes it to use the old method of reading the settings from environment variables instead of directly from the "env" file. Also added a --strip command line option, this will be used to run the stripped tests with CMake as well.
58 lines
1.2 KiB
Bash
Executable File
58 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2009-2012 Petri Lehtinen <petri@digip.org>
|
|
#
|
|
# 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
|
|
}
|
|
|
|
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 --env \
|
|
<$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() {
|
|
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:"
|
|
ref=error
|
|
[ -f $test_path/error$s ] && ref=error$s
|
|
nl -bn $test_path/$ref
|
|
|
|
echo "ACTUAL ERROR:"
|
|
nl -bn $test_log/stderr$s
|
|
}
|
|
|
|
. $top_srcdir/test/scripts/run-tests.sh
|