summaryrefslogtreecommitdiffstats
path: root/fluent-bit/lib/jansson-e23f558/test/scripts/valgrind.sh
diff options
context:
space:
mode:
Diffstat (limited to 'fluent-bit/lib/jansson-e23f558/test/scripts/valgrind.sh')
-rw-r--r--fluent-bit/lib/jansson-e23f558/test/scripts/valgrind.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/fluent-bit/lib/jansson-e23f558/test/scripts/valgrind.sh b/fluent-bit/lib/jansson-e23f558/test/scripts/valgrind.sh
new file mode 100644
index 000000000..afbdcee15
--- /dev/null
+++ b/fluent-bit/lib/jansson-e23f558/test/scripts/valgrind.sh
@@ -0,0 +1,35 @@
+# 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.
+
+[ -z "$VALGRIND" ] && VALGRIND=0
+
+VALGRIND_CMDLINE="valgrind --leak-check=full --show-reachable=yes --track-origins=yes -q"
+
+if [ $VALGRIND -eq 1 ]; then
+ test_runner="$VALGRIND_CMDLINE"
+ json_process="$VALGRIND_CMDLINE $json_process"
+else
+ test_runner=""
+fi
+
+valgrind_check() {
+ if [ $VALGRIND -eq 1 ]; then
+ # Check for Valgrind error output. The valgrind option
+ # --error-exitcode is not enough because Valgrind doesn't
+ # think unfreed allocs are errors.
+ if grep -E -q '^==[0-9]+== ' $1; then
+ touch $test_log/valgrind_error
+ return 1
+ fi
+ fi
+}
+
+valgrind_show_error() {
+ if [ $VALGRIND -eq 1 -a -f $test_log/valgrind_error ]; then
+ echo "valgrind detected an error"
+ return 0
+ fi
+ return 1
+}