[PATCH] [testsuite] Disable Ctrl-V use for mingw hosts.

Yao Qi
2014-03-25T02:05:02Z

From: Pierre Muller <muller@sourceware.org>

On mingw host, we have seen two fails as below,

p int1dim[0]^V@2
Invalid character '^V' in expression.
(gdb) FAIL: gdb.base/printcmds.exp: p int1dim[0]@2
p int1dim[0]^V@2^V@3
Invalid character '^V' in expression.
(gdb) FAIL: gdb.base/printcmds.exp: p int1dim[0]@2@3

In the test, the comment says "# Send \026@ instead of just @ in case
the kill character is @". Historically, kill character was @, and
Ctrl-V (\026) is to escape the next character. However, we don't have
to do so on mingw. This patch is to disable ctrl-v usage on mingw
hots. With this patch applied, it becomes:

p int1dim[0]@2
$607 = {0, 1}
(gdb) PASS: gdb.base/printcmds.exp: p int1dim[0]@2
p int1dim[0]@2@3
$608 = {{0, 1}, {2, 3}, {4, 5}}

Note that this patch is picked from Pierre's submission,

[RFC 6/6] Fix remaining failures in gdb.base/printcmds.exp for mingw hosts.
https://www.sourceware.org/ml/gdb-patches/2013-09/msg00943.html

gdb/testsuite:

2014-03-25 Pierre Muller <muller@sourceware.org>

* gdb.base/printcmds.exp (test_artificial_arrays): Disable
Ctrl-V use for mingw hosts.
---
gdb/testsuite/gdb.base/printcmds.exp | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/gdb/testsuite/gdb.base/printcmds.exp b/gdb/testsuite/gdb.base/printcmds.exp
index 8f38aca..653b235 100644
--- a/gdb/testsuite/gdb.base/printcmds.exp
+++ b/gdb/testsuite/gdb.base/printcmds.exp
@@ -631,8 +631,14 @@ proc test_print_typedef_arrays {} {

proc test_artificial_arrays {} {
# Send \026@ instead of just @ in case the kill character is @.
- gdb_test_escape_braces "p int1dim\[0\]\026@2" " = {0, 1}" {p int1dim[0]@2}
- gdb_test_escape_braces "p int1dim\[0\]\026@2\026@3" \
+ # \026 (ctrl-v) is to escape the next character (@), but it is
+ # unnecessary to do so on MingW hosts.
+ set ctrlv "\026"
+ if [ishost *-*-mingw*] {
+ set ctrlv ""
+ }
+ gdb_test_escape_braces "p int1dim\[0\]${ctrlv}@2" " = {0, 1}" {p int1dim[0]@2}
+ gdb_test_escape_braces "p int1dim\[0\]${ctrlv}@2${ctrlv}@3" \
"({{0, 1}, {2, 3}, {4, 5}}|\[Cc\]annot.*)" \
{p int1dim[0]@2@3}
gdb_test_escape_braces {p/x (short [])0x12345678} \
--
1.7.7.6