summaryrefslogtreecommitdiffstats
path: root/fluent-bit/lib/jansson-e23f558/test/scripts/run-tests.sh
diff options
context:
space:
mode:
Diffstat (limited to 'fluent-bit/lib/jansson-e23f558/test/scripts/run-tests.sh')
-rw-r--r--fluent-bit/lib/jansson-e23f558/test/scripts/run-tests.sh100
1 files changed, 100 insertions, 0 deletions
diff --git a/fluent-bit/lib/jansson-e23f558/test/scripts/run-tests.sh b/fluent-bit/lib/jansson-e23f558/test/scripts/run-tests.sh
new file mode 100644
index 000000000..f980a7657
--- /dev/null
+++ b/fluent-bit/lib/jansson-e23f558/test/scripts/run-tests.sh
@@ -0,0 +1,100 @@
+# Copyright (c) 2009-2016 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.
+
+die() {
+ echo "$1" >&2
+ exit 1
+}
+
+[ -n "$1" ] || die "Usage: $0 suite-name"
+[ -n "$bindir" ] || die "Set bindir"
+[ -n "$logdir" ] || die "Set logdir"
+[ -n "$scriptdir" ] || die "Set scriptdir"
+[ -n "$suites_srcdir" ] || die "Set suites_srcdir"
+[ -n "$suites_builddir" ] || die "Set suites_builddir"
+
+json_process=$bindir/json_process
+
+suite_name=$1
+suite_srcdir=$suites_srcdir/$suite_name
+suite_builddir=$suites_builddir/$suite_name
+suite_log=$logdir/$suite_name
+
+[ -z "$VERBOSE" ] && VERBOSE=0
+[ -z "$STOP" ] && STOP=0
+
+. $scriptdir/valgrind.sh
+
+rm -rf $suite_log
+mkdir -p $suite_log
+
+for test_path in $suite_srcdir/*; do
+ test_name=$(basename $test_path)
+ test_builddir=$suite_builddir/$test_name
+ test_log=$suite_log/$test_name
+
+ [ "$test_name" = "run" ] && continue
+ is_test || continue
+
+ rm -rf $test_log
+ mkdir -p $test_log
+ if [ $VERBOSE -eq 1 ]; then
+ printf '%s... ' "$test_name"
+ fi
+
+ run_test
+ case $? in
+ 0)
+ # Success
+ if [ $VERBOSE -eq 1 ]; then
+ printf 'ok\n'
+ else
+ printf '.'
+ fi
+ rm -rf $test_log
+ ;;
+
+ 77)
+ # Skip
+ if [ $VERBOSE -eq 1 ]; then
+ printf 'skipped\n'
+ else
+ printf 'S'
+ fi
+ rm -rf $test_log
+ ;;
+
+ *)
+ # Failure
+ if [ $VERBOSE -eq 1 ]; then
+ printf 'FAILED\n'
+ else
+ printf 'F'
+ fi
+
+ [ $STOP -eq 1 ] && break
+ ;;
+ esac
+done
+
+if [ $VERBOSE -eq 0 ]; then
+ printf '\n'
+fi
+
+if [ -n "$(ls -A $suite_log)" ]; then
+ for test_log in $suite_log/*; do
+ test_name=$(basename $test_log)
+ test_path=$suite_srcdir/$test_name
+ echo "================================================================="
+ echo "$suite_name/$test_name"
+ echo "================================================================="
+ show_error
+ echo
+ done
+ echo "================================================================="
+ exit 1
+else
+ rm -rf $suite_log
+fi