From 6006a3a1ec3bfe06d562da123c2c8a3d71291184 Mon Sep 17 00:00:00 2001 From: Bob Rossi Date: Sun, 8 May 2005 13:42:04 +0000 Subject: [PATCH] Add the fullname_syntax testsuite variable. This allows GDB to make sure that the MI fullname field is an absolute path, instead of just checking for .* or /.* --- gdb/testsuite/ChangeLog | 12 ++++++++++++ gdb/testsuite/gdb.mi/mi-file.exp | 6 ++++-- gdb/testsuite/gdb.mi/mi2-file.exp | 3 ++- gdb/testsuite/lib/gdb.exp | 20 ++++++++++++++++++++ 4 files changed, 38 insertions(+), 3 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index abbc0234c54..39705930682 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,15 @@ +2005-05-05 Bob Rossi + + * lib/gdb.exp (fullname_syntax): Added global regex. + (fullname_syntax_POSIX): Ditto. + (fullname_syntax_UNC): Ditto. + (fullname_syntax_DOS_CASE): Ditto. + (fullname_syntax_DOS): Ditto. + * gdb.mi/mi-file.exp (test_file_list_exec_source_file): Added + fullname_syntax variable to scope and use it. + (test_file_list_exec_source_files): Ditto. + * gdb.mi/mi2-file.exp (test_file_list_exec_source_file): Ditto. + 2005-05-04 Daniel Jacobowitz * gdb.threads/linux-dp.exp: Check for *-*-linux-gnu*. diff --git a/gdb/testsuite/gdb.mi/mi-file.exp b/gdb/testsuite/gdb.mi/mi-file.exp index 0ce4fd64948..61044663841 100644 --- a/gdb/testsuite/gdb.mi/mi-file.exp +++ b/gdb/testsuite/gdb.mi/mi-file.exp @@ -48,6 +48,7 @@ proc test_file_list_exec_source_file {} { global srcfile global srcdir global subdir + global fullname_syntax set srcfilepath [string_to_regexp ${srcdir}/${subdir}/${srcfile}] # get the path and absolute path to the current executable @@ -63,16 +64,17 @@ proc test_file_list_exec_source_file {} { set line_default [expr $line_main_body - $gdb_lines_to_list + 1] mi_gdb_test "111-file-list-exec-source-file" \ - "111\\\^done,line=\"$line_default\",file=\"${srcfilepath}\",fullname=\"/.*/${srcfile}\"" \ + "111\\\^done,line=\"$line_default\",file=\"${srcfilepath}\",fullname=\"$fullname_syntax${srcfile}\"" \ "request path info of current source file (${srcfile})" } proc test_file_list_exec_source_files {} { global srcfile + global fullname_syntax # get the path and absolute path to the current executable mi_gdb_test "222-file-list-exec-source-files" \ - "222\\\^done,files=\\\[\{file=\".*/${srcfile}\",fullname=\"/.*/${srcfile}\"\},\{file=\".*\"\},\{file=\".*\"\},\{file=\".*\"\},\{file=\".*\"\}\\\]" \ + "222\\\^done,files=\\\[\{file=\".*/${srcfile}\",fullname=\"$fullname_syntax${srcfile}\"\},\{file=\".*\"\},\{file=\".*\"\},\{file=\".*\"\},\{file=\".*\"\}\\\]" \ "Getting a list of source files." } diff --git a/gdb/testsuite/gdb.mi/mi2-file.exp b/gdb/testsuite/gdb.mi/mi2-file.exp index 1e81df6d6a4..50581ca49f5 100644 --- a/gdb/testsuite/gdb.mi/mi2-file.exp +++ b/gdb/testsuite/gdb.mi/mi2-file.exp @@ -48,6 +48,7 @@ proc test_file_list_exec_source_file {} { global srcfile global srcdir global subdir + global fullname_syntax set srcfilepath [string_to_regexp ${srcdir}/${subdir}/${srcfile}] # get the path and absolute path to the current executable @@ -63,7 +64,7 @@ proc test_file_list_exec_source_file {} { set line_default [expr $line_main_body - $gdb_lines_to_list + 1] mi_gdb_test "111-file-list-exec-source-file" \ - "111\\\^done,line=\"$line_default\",file=\"${srcfilepath}\",fullname=\"/.*/${srcfile}\"" \ + "111\\\^done,line=\"$line_default\",file=\"${srcfilepath}\",fullname=\"$fullname_syntax${srcfile}\"" \ "request path info of current source file (${srcfile})" } diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index c587c87c05e..c2c0b153681 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -51,6 +51,26 @@ if ![info exists gdb_prompt] then { set gdb_prompt "\[(\]gdb\[)\]" } +# The variable fullname_syntax_POSIX is a regexp which matches a POSIX +# absolute path ie. /foo/ +set fullname_syntax_POSIX "/.*/" +# The variable fullname_syntax_UNC is a regexp which matches a Windows +# UNC path ie. \\D\foo\ +set fullname_syntax_UNC {\\\\[^\\]+\\.+\\} +# The variable fullname_syntax_DOS_CASE is a regexp which matches a +# particular DOS case that GDB most likely will output +# ie. \foo\, but don't match \\.*\ +set fullname_syntax_DOS_CASE {\\[^\\].*\\} +# The variable fullname_syntax_DOS is a regexp which matches a DOS path +# ie. a:\foo\ && a:foo\ +set fullname_syntax_DOS {[a-zA-Z]:.*\\} +# The variable fullname_syntax is a regexp which matches what GDB considers +# an absolute path. It is currently debatable if the Windows style paths +# d:foo and \abc should be considered valid as an absolute path. +# Also, the purpse of this regexp is not to recognize a well formed +# absolute path, but to say with certainty that a path is absolute. +set fullname_syntax "($fullname_syntax_POSIX|$fullname_syntax_UNC|$fullname_syntax_DOS_CASE|$fullname_syntax_DOS)" + # Needed for some tests under Cygwin. global EXEEXT global env -- 2.30.2