From cb7926b3ef74f9eb0eed438225857b7513663146 Mon Sep 17 00:00:00 2001 From: Sandra Loosemore Date: Tue, 5 Sep 2023 18:48:22 +0000 Subject: [PATCH] gdb/testsuite: Adjust some testcases to allow Windows pathnames This patch fixes some testcases that formerly had patterns with hardwired "/" pathname separators in them, which broke when testing on (remote) Windows host. Reviewed-By: Tom Tromey Approved-By: Tom Tromey --- .../maint-expand-symbols-header-file.exp | 4 +-- gdb/testsuite/gdb.base/setshow.exp | 15 +++++++-- gdb/testsuite/gdb.dwarf2/dw2-filename.exp | 2 +- gdb/testsuite/gdb.mi/mi-info-sources.exp | 32 +++++++++---------- 4 files changed, 32 insertions(+), 21 deletions(-) diff --git a/gdb/testsuite/gdb.base/maint-expand-symbols-header-file.exp b/gdb/testsuite/gdb.base/maint-expand-symbols-header-file.exp index d38d2ab7398..43b5aabea3c 100644 --- a/gdb/testsuite/gdb.base/maint-expand-symbols-header-file.exp +++ b/gdb/testsuite/gdb.base/maint-expand-symbols-header-file.exp @@ -40,13 +40,13 @@ gdb_test_no_output "maint info symtabs" $test gdb_test_no_output "maint expand-symtabs maint-expand-symbols-header-file.h" # Check that the include symtab was in fact expanded. -set file_re "\[^\r\n\]*/maint-expand-symbols-header-file.h" +set file_re "\[^\r\n\]*maint-expand-symbols-header-file.h" gdb_test "maint info symtabs" \ "\r\n\t{ symtab $file_re \\(\\(struct symtab \\*\\) $hex\\)\r\n.*" \ "check header file psymtab expansion" # Check that the symtab the include symtab was referring to was expanded. -set file_re "\[^\r\n\]*/maint-expand-symbols-header-file.c" +set file_re "\[^\r\n\]*maint-expand-symbols-header-file.c" gdb_test "maint info symtabs" \ "\r\n\t{ symtab $file_re \\(\\(struct symtab \\*\\) $hex\\)\r\n.*" \ "check source file psymtab expansion" diff --git a/gdb/testsuite/gdb.base/setshow.exp b/gdb/testsuite/gdb.base/setshow.exp index 8c160aa560e..ef01b6087f7 100644 --- a/gdb/testsuite/gdb.base/setshow.exp +++ b/gdb/testsuite/gdb.base/setshow.exp @@ -280,10 +280,21 @@ proc_with_prefix test_setshow_history {} { #get home directory path set HOME "" + set STRINGHOME "" set test "show environment HOME" gdb_test_multiple $test $test { -re "\nHOME = (\[^\r\n\]*)\[\r\n\]+$::gdb_prompt $" { set HOME $expect_out(1,string) + if { [ishost *-*-mingw*] } { + # STRINGHOME is how HOME prints with C string escapes. + # Specifically, all backslashes "\" in the pathname + # string have to be escaped as "\\". If you have other + # weird characters in your HOME pathname that need + # escaping too, maybe you shouldn't do that. :-P + regsub -all {\\} $HOME {\\\\} STRINGHOME + } else { + set STRINGHOME $HOME + } pass $test } } @@ -297,10 +308,10 @@ proc_with_prefix test_setshow_history {} { "The filename in which to record the command history is \"[string_to_regexp $HOME]/foobar.baz\"..*" \ "show history filename (~/foobar.baz)" gdb_test "p \$_gdb_setting(\"history filename\")" \ - " = \"[string_to_regexp $HOME]/foobar.baz\"" \ + " = \"[string_to_regexp $STRINGHOME]/foobar.baz\"" \ "_gdb_setting history filename" gdb_test "p \$_gdb_setting_str(\"history filename\")" \ - " = \"[string_to_regexp $HOME]/foobar.baz\"" \ + " = \"[string_to_regexp $STRINGHOME]/foobar.baz\"" \ "_gdb_setting_str history filename" #get current working directory diff --git a/gdb/testsuite/gdb.dwarf2/dw2-filename.exp b/gdb/testsuite/gdb.dwarf2/dw2-filename.exp index 3bdac4c1cb8..c0ee3ac0d3f 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-filename.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-filename.exp @@ -38,4 +38,4 @@ gdb_test "interpreter-exec mi -file-list-exec-source-files" \ ".*{file=\"file1\\.txt\",fullname=\".+file1\\.txt\",debug-fully-read=\"\[^\"\]+\"}.*" # And `info sources' should return the fullname incl. the directories. -gdb_test "info sources" {[/]file1\.txt.*} +gdb_test "info sources" {.+file1\.txt.*} diff --git a/gdb/testsuite/gdb.mi/mi-info-sources.exp b/gdb/testsuite/gdb.mi/mi-info-sources.exp index f639f3cdef9..3778ccb3fbe 100644 --- a/gdb/testsuite/gdb.mi/mi-info-sources.exp +++ b/gdb/testsuite/gdb.mi/mi-info-sources.exp @@ -118,16 +118,16 @@ proc check_info_sources { debug_fully_read } { [mi_list "files" \ ".*" \ [mi_tuple "" \ - [mi_field "file" "\[^\"\]+/mi-info-sources-base\\.c"] \ - [mi_field "fullname" "\[^\"\]+/mi-info-sources-base\\.c"] \ + [mi_field "file" "\[^\"\]*mi-info-sources-base\\.c"] \ + [mi_field "fullname" "\[^\"\]+mi-info-sources-base\\.c"] \ [mi_field "debug-fully-read" "${debug_fully_read}"]] \ ".*"] set p2 \ [mi_list "files" \ ".*" \ [mi_tuple "" \ - [mi_field "file" "\[^\"\]+/mi-info-sources\\.c"] \ - [mi_field "fullname" "\[^\"\]+/mi-info-sources\\.c"] \ + [mi_field "file" "\[^\"\]*mi-info-sources\\.c"] \ + [mi_field "fullname" "\[^\"\]+mi-info-sources\\.c"] \ [mi_field "debug-fully-read" "true"]] \ ".*"] } else { @@ -135,16 +135,16 @@ proc check_info_sources { debug_fully_read } { [mi_list "files" \ ".*" \ [mi_tuple "" \ - [mi_field "file" "\[^\"\]+/mi-info-sources\\.c"] \ - [mi_field "fullname" "\[^\"\]+/mi-info-sources\\.c"] \ + [mi_field "file" "\[^\"\]*mi-info-sources\\.c"] \ + [mi_field "fullname" "\[^\"\]+mi-info-sources\\.c"] \ [mi_field "debug-fully-read" "true"]] \ ".*"] set p2 \ [mi_list "files" \ ".*" \ [mi_tuple "" \ - [mi_field "file" "\[^\"\]+/mi-info-sources-base\\.c"] \ - [mi_field "fullname" "\[^\"\]+/mi-info-sources-base\\.c"] \ + [mi_field "file" "\[^\"\]*mi-info-sources-base\\.c"] \ + [mi_field "fullname" "\[^\"\]+mi-info-sources-base\\.c"] \ [mi_field "debug-fully-read" "${debug_fully_read}"]] \ ".*"] } @@ -156,8 +156,8 @@ proc check_info_sources { debug_fully_read } { set p [mi_list "files" \ [mi_tuple "" \ - [mi_field "file" "\[^\"\]+/mi-info-sources-base\\.c"] \ - [mi_field "fullname" "\[^\"\]+/mi-info-sources-base\\.c"] \ + [mi_field "file" "\[^\"\]*mi-info-sources-base\\.c"] \ + [mi_field "fullname" "\[^\"\]+mi-info-sources-base\\.c"] \ [mi_field "debug-fully-read" "${debug_fully_read}"]]] mi_gdb_test "-file-list-exec-source-files --basename -- base" ".*\\^done,${p}" \ "-file-list-exec-source-files --basename -- base" @@ -171,13 +171,13 @@ proc check_info_sources { debug_fully_read } { set p [mi_list "files" \ [mi_tuple "" \ - [mi_field "filename" "\[^\"\]+/mi-info-sources(\.debug)?"] \ + [mi_field "filename" "\[^\"\]+mi-info-sources(\.debug)?"] \ [mi_field "debug-info" "${debug_info}"] \ [mi_list "sources" \ ".*" \ [mi_tuple "" \ - [mi_field "file" "\[^\"\]+/mi-info-sources\\.c"] \ - [mi_field "fullname" "\[^\"\]+/mi-info-sources\\.c"] \ + [mi_field "file" "\[^\"\]*mi-info-sources\\.c"] \ + [mi_field "fullname" "\[^\"\]+mi-info-sources\\.c"] \ [mi_field "debug-fully-read" "true"]] \ ".*"]]] mi_gdb_test "-file-list-exec-source-files --group-by-objfile" \ @@ -186,13 +186,13 @@ proc check_info_sources { debug_fully_read } { set p [mi_list "files" \ [mi_tuple "" \ - [mi_field "filename" "\[^\"\]+/mi-info-sources(\.debug)?"] \ + [mi_field "filename" "\[^\"\]+mi-info-sources(\.debug)?"] \ [mi_field "debug-info" "${debug_info}"] \ [mi_list "sources" \ ".*" \ [mi_tuple "" \ - [mi_field "file" "\[^\"\]+/mi-info-sources-base\\.c"] \ - [mi_field "fullname" "\[^\"\]+/mi-info-sources-base\\.c"] \ + [mi_field "file" "\[^\"\]*mi-info-sources-base\\.c"] \ + [mi_field "fullname" "\[^\"\]+mi-info-sources-base\\.c"] \ [mi_field "debug-fully-read" "${debug_fully_read}"]] \ ".*"]]] mi_gdb_test "-file-list-exec-source-files --group-by-objfile" \ -- 2.30.2