This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

fullname syntax variable for testsuite


Hi all,

Hopefully this should make everyone happy. If the regex is slightly
incorrect, after this patch, it should be simple to modify it and have
the testsuite pick up on those changes.

As you will notice, the initial regex that Eli posted does not match the
case d:foo. If it is desired to match this case up front, I can do that.
Otherwise, it's noted in the comment, and can be changed when we run
into the problem.

Thanks,
Bob Rossi

2005-05-05  Bob Rossi  <bob_rossi@cox.net>

    * lib/gdb.exp (fullname_syntax): Added global regex.
    * 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.

Index: gdb.mi/mi-file.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-file.exp,v
retrieving revision 1.4
diff -w -u -r1.4 mi-file.exp
--- gdb.mi/mi-file.exp	15 Aug 2004 10:15:58 -0000	1.4
+++ gdb.mi/mi-file.exp	5 May 2005 17:23:42 -0000
@@ -48,6 +48,7 @@
     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 @@
     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."
 }
 
Index: gdb.mi/mi2-file.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-file.exp,v
retrieving revision 1.5
diff -w -u -r1.5 mi2-file.exp
--- gdb.mi/mi2-file.exp	15 Aug 2004 10:15:58 -0000	1.5
+++ gdb.mi/mi2-file.exp	5 May 2005 17:23:42 -0000
@@ -48,6 +48,7 @@
     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 @@
     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})"
 }
 
Index: lib/gdb.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/gdb.exp,v
retrieving revision 1.62
diff -w -u -r1.62 gdb.exp
--- lib/gdb.exp	3 May 2005 00:41:49 -0000	1.62
+++ lib/gdb.exp	5 May 2005 17:23:43 -0000
@@ -51,6 +51,15 @@
     set gdb_prompt "\[(\]gdb\[)\]"
 }
 
+# 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.
+# This regex matches \abc but not d:foo.
+global fullname_syntax
+if ![info exists fullname_syntax] then {
+    set fullname_syntax "(\[A-z\]:)?\[/\\\\\].*"
+}
+
 # Needed for some tests under Cygwin.
 global EXEEXT
 global env


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]