From a2fb245a4b81ffdc93a9c6e9ceddbfb323ac9bec Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Fri, 10 Feb 2023 23:49:19 +0000 Subject: [PATCH] GDB/testsuite: Add `-nonl' option to `gdb_test' Add a `-nonl' option to `gdb_test' making it possible to match output from commands such as `output' that do not produce a new line sequence at the end, e.g.: (gdb) output 0 0(gdb) --- gdb/testsuite/lib/gdb.exp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index faa0ac05a9a..b90858a04cd 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -1395,6 +1395,8 @@ proc gdb_test_multiline { name args } { # have any effect if -prompt is specified. # -lbl specifies that line-by-line matching will be used. # -nopass specifies that a PASS should not be issued. +# -nonl specifies that no \r\n sequence is expected between PATTERN +# and the gdb prompt. # # Returns: # 1 if the test failed, @@ -1410,6 +1412,7 @@ proc gdb_test { args } { {no-prompt-anchor} {lbl} {nopass} + {nonl} } lassign $args command pattern message question response @@ -1424,12 +1427,13 @@ proc gdb_test { args } { } set prompt [fill_in_default_prompt $prompt [expr !${no-prompt-anchor}]] + set nl [expr ${nonl} ? {""} : {"\[\r\n\]+"}] set saw_question 0 set user_code {} lappend user_code { - -re "\[\r\n\]*(?:$pattern)\[\r\n\]+$prompt" { + -re "\[\r\n\]*(?:$pattern)$nl$prompt" { if { $question != "" & !$saw_question} { fail $message } elseif {!$nopass} { -- 2.30.2