This is the mail archive of the gdb-patches@sourceware.org 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]

Re: [PATCH v2 2/5] Further cleanup/modernization of gdb.base/commands.exp


On 11/09/2016 03:02 AM, Simon Marchi wrote:
> On 2016-11-08 19:19, Pedro Alves wrote:
>> - Use multi_line for matching multi-line GDB output.
>>
>>  - Add a multi_line_input variant of multi_line to build GDB input and
>>    use it throughout.
>>
>>    (The two changes above make the tests much more readable, IMO.)
>>
>>  - Remove gdb_stop_suppressing_tests uses.
>>
>>  - tighten a few regexps.
>>
>>  - Replace send_gdb/gdb_expect with gdb_test_multiple and simplify,
>>    making pass/fail messages the same.
> 
> I agree, the test is now much more readable.
> 
>> +    gdb_test \
>> +    [multi_line_input \
>> +         "while \$foo > 0" \
>> +         "  p/x 0xfeedface" \
>> +         "  set \$foo -= 1" \
>> +         "end"] \
>> +    [multi_line \
>> +         "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
>> +         "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
>> +         "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
>> +         "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
>> +         "\\\$\[0-9\]* = 0xfeedface"] \
>> +    "#1"
> 
> In these instance, what is the [^\n] meant to match?  Is it the \r?  In
> that case, multi_line matches it, so I think we can get rid of them
> (throughout the file).
> 

Indeed.  I did that now, with the patchlet below, and the test
still passes.  Also found another place where we could use multi_line.

>From 9363d1c3a008337d1f56e94d8dc51e17ebd02ab0 Mon Sep 17 00:00:00 2001
From: Pedro Alves <palves@redhat.com>
Date: Wed, 9 Nov 2016 15:36:45 +0000
Subject: [PATCH] review

---
 gdb/testsuite/gdb.base/commands.exp | 49 +++++++++++++++++++++----------------
 1 file changed, 28 insertions(+), 21 deletions(-)

diff --git a/gdb/testsuite/gdb.base/commands.exp b/gdb/testsuite/gdb.base/commands.exp
index b6c8f9e..c4bf425 100644
--- a/gdb/testsuite/gdb.base/commands.exp
+++ b/gdb/testsuite/gdb.base/commands.exp
@@ -72,10 +72,10 @@ proc_with_prefix gdbvar_simple_while_test {} {
 	     "  set \$foo -= 1" \
 	     "end"] \
 	[multi_line \
-	     "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
+	     "\\\$\[0-9\]* = 0xfeedface" \
+	     "\\\$\[0-9\]* = 0xfeedface" \
+	     "\\\$\[0-9\]* = 0xfeedface" \
+	     "\\\$\[0-9\]* = 0xfeedface" \
 	     "\\\$\[0-9\]* = 0xfeedface"] \
 	"#1"
 }
@@ -96,9 +96,9 @@ proc_with_prefix gdbvar_complex_if_while_test {} {
 	     "  end" \
 	     "end"] \
 	[multi_line \
-	     "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*" \
+	     "\\\$\[0-9\]* = 0xdeadbeef" \
+	     "\\\$\[0-9\]* = 0xfeedface" \
+	     "\\\$\[0-9\]* = 0xdeadbeef" \
 	     "\\\$\[0-9\]* = 0xfeedface"] \
 	"#1"
 }
@@ -150,10 +150,10 @@ proc_with_prefix progvar_simple_while_test {} {
 	     "  set value -= 1" \
 	     "end"] \
 	[multi_line \
-	     "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
+	     "\\\$\[0-9\]* = 0xfeedface" \
+	     "\\\$\[0-9\]* = 0xfeedface" \
+	     "\\\$\[0-9\]* = 0xfeedface" \
+	     "\\\$\[0-9\]* = 0xfeedface" \
 	     "\\\$\[0-9\]* = 0xfeedface"] \
 	"#1"
 }
@@ -179,9 +179,9 @@ proc_with_prefix progvar_complex_if_while_test {} {
 	     "  end" \
 	     "end"] \
 	[multi_line \
-	     "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*" \
+	     "\\\$\[0-9\]* = 0xdeadbeef" \
+	     "\\\$\[0-9\]* = 0xfeedface" \
+	     "\\\$\[0-9\]* = 0xdeadbeef" \
 	     "\\\$\[0-9\]* = 0xfeedface"] \
 	"#1"
 }
@@ -218,9 +218,9 @@ proc_with_prefix if_while_breakpoint_command_test {} {
     gdb_test \
 	"continue" \
 	[multi_line \
-	     "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*" \
+	     "\\\$\[0-9\]* = 0xdeadbeef" \
+	     "\\\$\[0-9\]* = 0xfeedface" \
+	     "\\\$\[0-9\]* = 0xdeadbeef" \
 	     "\\\$\[0-9\]* = 0xfeedface"] \
 	"#1"
     gdb_test "info break" "while.*set.*if.*p/x.*else.*p/x.*end.*"
@@ -309,9 +309,9 @@ proc_with_prefix user_defined_command_test {} {
     gdb_test \
 	"mycommand \$foo" \
 	[multi_line \
-	     "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xfeedface\[^\n\]*" \
-	     "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*" \
+	     "\\\$\[0-9\]* = 0xdeadbeef" \
+	     "\\\$\[0-9\]* = 0xfeedface" \
+	     "\\\$\[0-9\]* = 0xdeadbeef" \
 	     "\\\$\[0-9\]* = 0xfeedface"] \
 	"execute user-defined command"
    gdb_test "show user mycommand" \
@@ -784,7 +784,14 @@ proc_with_prefix error_clears_commands_left {} {
     gdb_test_no_output "end" "main commands 2c"
 
     gdb_run_cmd
-    gdb_test "" "hook-stop1\r\n.*\r\ncmd1\r\nUndefined command: \"errorcommandxy\"\\.  Try \"help\"\\." "cmd1 error"
+    gdb_test \
+	"" \
+	[multi_line \
+	     "hook-stop1" \
+	     ".*" \
+	     "cmd1" \
+	     "Undefined command: \"errorcommandxy\"\\.  Try \"help\"\\."] \
+	"cmd1 error"
 
     gdb_test {echo idle\n} "\r\nidle" "no cmd2"
 }
-- 
2.5.5



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