]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Escape backslash in windows path
authorYao Qi <yao@codesourcery.com>
Sat, 29 Mar 2014 01:41:02 +0000 (09:41 +0800)
committerYao Qi <yao@codesourcery.com>
Thu, 3 Apr 2014 06:51:40 +0000 (14:51 +0800)
Hi,
On windows host, we see the following ERROR,

(gdb) PASS: gdb.base/setshow.exp: set history filename ~/foobar.baz
ERROR OCCURED: couldn't compile regular expression pattern: invalid escape \ seq
uence
    while executing
"expect -nobrace -i exp13 -timeout 10 -re {.*A problem internal to GDB has been
detected} {
    fail "$message (GDB internal error)"
    gdb_internal..."
    invoked from within
"expect {
-i exp13 -timeout 10
-re ".*A problem internal to GDB has been detected" {
    fail "$message (GDB internal error)"
    gdb_internal_erro..."
    ("uplevel" body line 1)
    invoked from within
"uplevel $body" REGEXP REG_EESCAPE {invalid escape \ sequence} couldn't compile
regular expression pattern: invalid escape \ sequenceERROR: Process no longer ex
ists

which leads to
UNRESOLVED: gdb.base/setshow.exp: show history filename (~/foobar.baz)

and this error is thrown from this test below:

gdb_test "show history filename" \
    "The filename in which to record the command history is \"$HOME/foobar.baz\"..*" \
    "show history filename (~/foobar.baz)"

HOME is a windows path, like C:\foo\bar.  When it is used in gdb_test to match
output, the error is thrown because backslash is a special character in
regular expression.  This patch is to escape backslash to fix this
error by using string_to_regexp.

gdb/testsuite:

2014-04-03  Yao Qi  <yao@codesourcery.com>

* gdb.base/setshow.exp: Invoke string_to_regexp to HOME and PWD.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/setshow.exp

index 51f2a70a12a4cc64f47aa0873bd5e750c7ff4a04..bf7c7a65d66c75afcec00cd52457552f1a6f1285 100644 (file)
@@ -1,3 +1,7 @@
+2014-04-03  Yao Qi  <yao@codesourcery.com>
+
+       * gdb.base/setshow.exp: Invoke string_to_regexp to HOME and PWD.
+
 2014-04-01  Anton Blanchard  <anton@samba.org>
 
        * gdb.arch/ppc64-atomic-inst.exp: Use untested.  Make test
index 13da4101cca6f96ac43619c841888f8730333ed1..639ca723ad9ec554b45e7cbe42f8849034758b18 100644 (file)
@@ -179,7 +179,7 @@ gdb_test_no_output "set history filename ~/foobar.baz" \
     "set history filename ~/foobar.baz"
 #test show history filename ~/foobar.baz
 gdb_test "show history filename" \
-    "The filename in which to record the command history is \"$HOME/foobar.baz\"..*" \
+    "The filename in which to record the command history is \"[string_to_regexp $HOME]/foobar.baz\"..*" \
     "show history filename (~/foobar.baz)"
 #get current working directory
 set PWD ""
@@ -195,7 +195,7 @@ gdb_test_no_output "set history filename foobar.baz" \
     "set history filename foobar.baz"
 #test show history filename foobar.baz
 gdb_test "show history filename" \
-    "The filename in which to record the command history is \"$PWD/foobar.baz\"..*" \
+    "The filename in which to record the command history is \"[string_to_regexp $PWD]/foobar.baz\"..*" \
     "show history filename (current_directory/foobar.baz)"
 #test set history save on
 gdb_test_no_output "set history save on" "set history save on"