aboutsummaryrefslogtreecommitdiff
path: root/libctf/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'libctf/testsuite')
-rw-r--r--libctf/testsuite/lib/ctf-lib.exp5
-rw-r--r--libctf/testsuite/libctf-regression/open-error-free.c13
2 files changed, 18 insertions, 0 deletions
diff --git a/libctf/testsuite/lib/ctf-lib.exp b/libctf/testsuite/lib/ctf-lib.exp
index eb2b738..cfd36be 100644
--- a/libctf/testsuite/lib/ctf-lib.exp
+++ b/libctf/testsuite/lib/ctf-lib.exp
@@ -270,6 +270,11 @@ proc run_lookup_test { name } {
set results [run_host_cmd "$opts(wrapper) tmpdir/lookup" $lookup_output]
}
+ if { [regexp {^UNSUPPORTED: (.*)$} $results -> reason] } {
+ unsupported "$testname: $reason"
+ return 0
+ }
+
set f [open "tmpdir/lookup.out" "w"]
puts $f $results
close $f
diff --git a/libctf/testsuite/libctf-regression/open-error-free.c b/libctf/testsuite/libctf-regression/open-error-free.c
index 5e48744..edc5f34 100644
--- a/libctf/testsuite/libctf-regression/open-error-free.c
+++ b/libctf/testsuite/libctf-regression/open-error-free.c
@@ -1,6 +1,7 @@
/* Make sure that, on error, an opened dict is properly freed. */
#define _GNU_SOURCE 1
+#include "config.h"
#include <dlfcn.h>
#include <stdio.h>
#include <stdlib.h>
@@ -8,6 +9,10 @@
#include <ctf-api.h>
#include <ctf.h>
+#ifdef HAVE_VALGRIND_VALGRIND_H
+#include <valgrind/valgrind.h>
+#endif
+
static unsigned long long malloc_count;
static unsigned long long free_count;
@@ -111,6 +116,14 @@ int main (void)
ctf_next_t *it = NULL;
unsigned long long frozen_malloc_count, frozen_free_count;
+#ifdef HAVE_VALGRIND_VALGRIND_H
+ if (RUNNING_ON_VALGRIND)
+ {
+ printf ("UNSUPPORTED: valgrind interferes with malloc counting\n");
+ return 0;
+ }
+#endif
+
if ((fp = ctf_create (&err)) == NULL)
goto open_err;