[binutils-gdb] libctf: test: add wrapper

Nick Alcock nix@sourceware.org
Fri May 17 12:02:51 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8c59ec70063f697e2088ac58ba350fa6ea8d8680

commit 8c59ec70063f697e2088ac58ba350fa6ea8d8680
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Fri Apr 26 18:16:49 2024 +0100

    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.

Diff:
---
 libctf/testsuite/lib/ctf-lib.exp | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/libctf/testsuite/lib/ctf-lib.exp b/libctf/testsuite/lib/ctf-lib.exp
index c31573efa02..eb2b738498d 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


More information about the Binutils-cvs mailing list