1#!/bin/sh
2#
3# Copyright (c) 2009-2014 Petri Lehtinen <petri@digip.org>
4#
5# Jansson is free software; you can redistribute it and/or modify
6# it under the terms of the MIT license. See LICENSE for details.
7
8JSON_SORT_KEYS=1
9export JSON_SORT_KEYS
10
11is_test() {
12    test -d $test_path
13}
14
15do_run() {
16    variant=$1
17    s=".$1"
18
19    strip=0
20    [ "$variant" = "strip" ] && strip=1
21
22    STRIP=$strip $json_process --env \
23        <$test_path/input >$test_log/stdout$s 2>$test_log/stderr$s
24    valgrind_check $test_log/stderr$s || return 1
25
26    ref=output
27    [ -f $test_path/output$s ] && ref=output$s
28
29    if ! cmp -s $test_path/$ref $test_log/stdout$s; then
30        echo $variant > $test_log/variant
31        return 1
32    fi
33}
34
35run_test() {
36    do_run normal && do_run strip
37}
38
39show_error() {
40    valgrind_show_error && return
41
42    read variant < $test_log/variant
43    s=".$variant"
44
45    echo "VARIANT: $variant"
46
47    echo "EXPECTED OUTPUT:"
48    ref=output
49    [ -f $test_path/output$s ] && ref=output$s
50    nl -bn $test_path/$ref
51
52    echo "ACTUAL OUTPUT:"
53    nl -bn $test_log/stdout$s
54}
55
56. $top_srcdir/test/scripts/run-tests.sh
57