From patchwork Fri Nov 27 14:30:33 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yao Qi X-Patchwork-Id: 9838 Received: (qmail 124651 invoked by alias); 27 Nov 2015 14:30:40 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 124641 invoked by uid 89); 27 Nov 2015 14:30:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-pa0-f46.google.com Received: from mail-pa0-f46.google.com (HELO mail-pa0-f46.google.com) (209.85.220.46) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Fri, 27 Nov 2015 14:30:38 +0000 Received: by padhx2 with SMTP id hx2so116642834pad.1 for ; Fri, 27 Nov 2015 06:30:37 -0800 (PST) X-Received: by 10.66.139.200 with SMTP id ra8mr49644511pab.91.1448634636967; Fri, 27 Nov 2015 06:30:36 -0800 (PST) Received: from E107787-LIN.cambridge.arm.com (gcc1-power7.osuosl.org. [140.211.15.137]) by smtp.gmail.com with ESMTPSA id xi8sm18976744pab.9.2015.11.27.06.30.35 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 27 Nov 2015 06:30:36 -0800 (PST) From: Yao Qi X-Google-Original-From: Yao Qi To: gdb-patches@sourceware.org Subject: [PATCH OBV] Use multi_line to make pattern more human readable Date: Fri, 27 Nov 2015 14:30:33 +0000 Message-Id: <1448634633-24575-1-git-send-email-yao.qi@linaro.org> X-IsSubscribed: yes It is obvious. I'll push it in. gdb/testsuite: 2015-11-27 Yao Qi * gdb.cp/annota2.exp: Rewrite the pattern using multi_line. --- gdb/testsuite/gdb.cp/annota2.exp | 98 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 93 insertions(+), 5 deletions(-) diff --git a/gdb/testsuite/gdb.cp/annota2.exp b/gdb/testsuite/gdb.cp/annota2.exp index ed3fd1b..52ef3c4 100644 --- a/gdb/testsuite/gdb.cp/annota2.exp +++ b/gdb/testsuite/gdb.cp/annota2.exp @@ -89,8 +89,36 @@ gdb_test_multiple "run" "run until main breakpoint" { # annotate-field-value # annotate-field-end # + +set pat [multi_line "" \ + "\032\032post-prompt" \ + "" \ + "\032\032value-history-begin 1 -" \ + ".*= " \ + "\032\032value-history-value" \ + "\\{" \ + "\032\032field-begin -" \ + "x" \ + "\032\032field-name-end" \ + " = " \ + "\032\032field-value" \ + "1" \ + "\032\032field-end" \ + ", " \ + "\032\032field-begin -" \ + "y" \ + "\032\032field-name-end" \ + " = " \ + "\032\032field-value" \ + "2" \ + "\032\032field-end" \ + "\\}" \ + "" \ + "\032\032value-history-end" \ + $gdb_prompt$] + gdb_test_multiple "print a" "print class" { - -re "\r\n\032\032post-prompt\r\n\r\n\032\032value-history-begin 1 -\r\n.*= \r\n\032\032value-history-value\r\n\\{\r\n\032\032field-begin -\r\nx\r\n\032\032field-name-end\r\n = \r\n\032\032field-value\r\n1\r\n\032\032field-end\r\n, \r\n\032\032field-begin -\r\ny\r\n\032\032field-name-end\r\n = \r\n\032\032field-value\r\n2\r\n\032\032field-end\r\n\\}\r\n\r\n\032\032value-history-end\r\n$gdb_prompt$" { + -re "$pat" { pass "print class" } } @@ -101,8 +129,21 @@ gdb_test_multiple "print a" "print class" { # annotate-exited # `a.x is 1' is asynchronous regarding to `frames-invalid'. # + +set pat [multi_line "" \ + "\032\032post-prompt" \ + "Continuing." \ + "" \ + "\032\032starting" \ + "\(${frames_invalid}\)*a.x is 1" \ + "\(${frames_invalid}\)*"\ + "\032\032exited 0" \ + "$inferior_exited_re normally." \ + "" \ + "\032\032stopped" \ + $gdb_prompt$] gdb_test_multiple "continue" "continue until exit" { - -re "\r\n\032\032post-prompt\r\nContinuing.\r\n\r\n\032\032starting\r\n\(${frames_invalid}\)*a.x is 1\r\n\(${frames_invalid}\)*\r\n\032\032exited 0\r\n$inferior_exited_re normally.\r\n\r\n\032\032stopped\r\n$gdb_prompt$" { + -re "$pat" { pass "continue until exit" } } @@ -127,8 +168,14 @@ gdb_expect { # # break at first line of main. # +set pat [multi_line "" \ + "\032\032post-prompt" \ + "Breakpoint.*at $hex: file.*$srcfile, line.*" \ + "\032\032breakpoints-invalid.*" \ + $gdb_prompt$] + gdb_test_multiple "break 22" "break at main" { - -re "\r\n\032\032post-prompt\r\nBreakpoint.*at $hex: file.*$srcfile, line.*\r\n\032\032breakpoints-invalid.*\r\n$gdb_prompt$" { + -re "$pat" { pass "breakpoint at main" } } @@ -151,8 +198,14 @@ gdb_test_multiple "run" "run until main breakpoint" { # # set up a watch point on a.x # +set pat [multi_line "" \ + "\032\032post-prompt" \ + ".*atchpoint 3: a.x" \ + "" \ + "\032\032breakpoints-invalid" \ + $gdb_prompt$] gdb_test_multiple "watch a.x" "set watch on a.x" { - -re "\r\n\032\032post-prompt\r\n.*atchpoint 3: a.x.*\r\n\032\032breakpoints-invalid\r\n.*$gdb_prompt$" { + -re "$pat" { pass "set watch on a.x" } } @@ -161,8 +214,43 @@ gdb_test_multiple "watch a.x" "set watch on a.x" { # do a next, so that the watchpoint triggers. This will test: # annotate-watchpoint # +set pat [multi_line "" \ + "\032\032post-prompt" \ + "" \ + "\032\032starting" \ + "\(${frames_invalid}\)*${breakpoints_invalid}" \ + "\032\032watchpoint 3" \ + ".*atchpoint 3: a.x" \ + "" \ + "Old value = 0" \ + "New value = 1" \ + "" \ + "\032\032frame-begin 0 $hex" \ + "" \ + "\032\032frame-function-name" \ + "main" \ + "\032\032frame-args" \ + " \\(\\)" \ + "\032\032frame-source-begin" \ + " at " \ + "\032\032frame-source-file" \ + ".*$srcfile" \ + "\032\032frame-source-file-end" \ + ":" \ + "\032\032frame-source-line" \ + "$decimal" \ + "\032\032frame-source-end" \ + "" \ + "" \ + "\032\032source .*$srcfile.*beg:$hex" \ + "" \ + "\032\032frame-end" \ + "" \ + "\032\032stopped" \ + $gdb_prompt$] + gdb_test_multiple "next" "watch triggered on a.x" { - -re "\r\n\032\032post-prompt\r\n\r\n\032\032starting\r\n\(${frames_invalid}\)*${breakpoints_invalid}\r\n\032\032watchpoint 3\r\n.*atchpoint 3: a.x\r\n\r\nOld value = 0\r\nNew value = 1\r\n\r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n.*$srcfile\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n$decimal\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source .*$srcfile.*beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n.*$gdb_prompt$" { + -re "$pat" { pass "watch triggered on a.x" } }