From c5e91131d790aa68787d886fe8f9c135a095f5b0 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Mon, 13 Sep 2021 21:41:13 +0200 Subject: [PATCH] [gdb/testsuite] Check for valid test name When running gdb.base/batch-exit-status.exp I noticed that the test name contains a newline: ... PASS: gdb.base/batch-exit-status.exp: : No such file or directory\.^M : No such file or directory\.: [lindex $result 2] == 0 ... Check for this in ::CheckTestNames::check, such that we have a warning: ... PASS: gdb.base/batch-exit-status.exp: : No such file or directory\.^M : No such file or directory\.: [lindex $result 2] == 0 WARNING: Newline in test name ... Tested on x86_64-linux. --- gdb/testsuite/lib/check-test-names.exp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gdb/testsuite/lib/check-test-names.exp b/gdb/testsuite/lib/check-test-names.exp index 1de7624d5c5..e2ac5bd02b9 100644 --- a/gdb/testsuite/lib/check-test-names.exp +++ b/gdb/testsuite/lib/check-test-names.exp @@ -93,6 +93,13 @@ namespace eval ::CheckTestNames { return $message } + # Check if MESSAGE is a well-formed test name. + proc _check_well_formed_name { message } { + if { [regexp \n $message]} { + warning "Newline in test name" + } + } + # Check if MESSAGE contains either the source path or the build path. # This will result in test names that can't easily be compared between # different runs of GDB. @@ -110,6 +117,8 @@ namespace eval ::CheckTestNames { if [ _check_duplicates $message ] { clone_output "DUPLICATE: $message" } + + _check_well_formed_name $message } # If COUNT is greater than zero, disply PREFIX followed by COUNT. -- 2.30.2