gdb/testsuite: tighten patterns in build-id-no-debug-warning.exp
authorAndrew Burgess <aburgess@redhat.com>
Fri, 5 May 2023 12:38:04 +0000 (13:38 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Fri, 5 May 2023 15:57:31 +0000 (16:57 +0100)
Tighten the expected output pattern in the test script:

  gdb.debuginfod/build-id-no-debug-warning.exp

While working on some other patch I broke GDB such that this warning:

  warning: "FILENAME": separate debug info file has no debug info

(which is generated in build-id.c) didn't actually include the
FILENAME any more -- yet this test script continued to pass.  It turns
out that this script doesn't actually check for FILENAME.

This commit extends the test pattern to check for the full warning
string, including FILENAME, and also removes some uses of '.*' to make
the test stricter.

gdb/testsuite/gdb.debuginfod/build-id-no-debug-warning.exp

index 1102d9bf2549540413b5ef38f262879c186812ad..b49770f4a5eef2e85287565e32997c787804b829 100644 (file)
@@ -87,10 +87,12 @@ gdb_test_no_output "set debug-file-directory ${debug_file_directory}" \
     "set debug-file-directory"
 
 # Now load the file into GDB, and look for the warning.
+set debug_file_re [string_to_regexp $build_id_debug_file]
 gdb_test "file ${build_id_debug_file}" \
     [multi_line \
-    ".*Reading symbols from.*debuginfo.*" \
-    ".*separate debug info file has no debug info.*"] \
+        "Reading symbols from $debug_file_re\\.\\.\\." \
+        "warning: \"$debug_file_re\": separate debug info file has no debug info" \
+        "\\(No debugging symbols found in \[^\r\n\]+\\)"] \
     "load test file, expect a warning"
 
 # Now we should close GDB.