From 8c59ec70063f697e2088ac58ba350fa6ea8d8680 Mon Sep 17 00:00:00 2001 From: Nick Alcock Date: Fri, 26 Apr 2024 18:16:49 +0100 Subject: libctf: test: add wrapper This .lk option lets you run the lookup program via a wrapper executable. For example, to run under valgrind and check for leaks (albeit noisily because of the libtool shell script wrapper): libctf/ * testsuite/lib/ctf-lib.exp (run_lookup_test): Add wrapper. --- libctf/testsuite/lib/ctf-lib.exp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'libctf/testsuite') diff --git a/libctf/testsuite/lib/ctf-lib.exp b/libctf/testsuite/lib/ctf-lib.exp index c31573e..eb2b738 100644 --- a/libctf/testsuite/lib/ctf-lib.exp +++ b/libctf/testsuite/lib/ctf-lib.exp @@ -112,6 +112,10 @@ proc compile_link_one_host_cc { src output additional_args } { # host: # If set, only run this test on hosts matching the given glob. # +# wrapper: +# Wrap invocations of LOOKUP in this command. (Useful for valgrind +# invocations, etc.) +# # Each option may occur at most once unless otherwise mentioned. # # After the option lines come regexp lines. run_lookup_test calls @@ -151,6 +155,7 @@ proc run_lookup_test { name } { set opts(xfail) {} set opts(no_cross) {} set opts(host) {} + set opts(wrapper) {} foreach i $opt_array { set opt_name [lindex $i 0] @@ -257,9 +262,13 @@ proc run_lookup_test { name } { } } - # Invoke the lookup program on the outputs. + # Invoke the lookup program on the outputs, possibly through the wrapper. - set results [run_host_cmd tmpdir/lookup $lookup_output] + if { [llength $opts(wrapper)] == 0 } { + set results [run_host_cmd tmpdir/lookup $lookup_output] + } else { + set results [run_host_cmd "$opts(wrapper) tmpdir/lookup" $lookup_output] + } set f [open "tmpdir/lookup.out" "w"] puts $f $results -- cgit v1.1