Commit b5b44c62 by David Malcolm Committed by David Malcolm

testsuite/lib/multline.exp: show test name and line numbers

gcc/testsuite/ChangeLog:
	* lib/multiline.exp (_multiline_expected_outputs): Update comment.
	(dg-end-multiline-output): Capture line numbers within
	_multiline_expected_outputs.
	(handle-multiline-outputs): Access global $testname_with_flags
	and add it as a prefix to pass/fail results.  Extract line numbers
	from $_multiline_expected_outputs and print them within pass/fail
	results, replacing the printing of $index.  Consolidate the
	string prefix shared between pass/fail into a new local ($title).

From-SVN: r231530
parent 3daacdcd
2015-12-10 David Malcolm <dmalcolm@redhat.com>
* lib/multiline.exp (_multiline_expected_outputs): Update comment.
(dg-end-multiline-output): Capture line numbers within
_multiline_expected_outputs.
(handle-multiline-outputs): Access global $testname_with_flags
and add it as a prefix to pass/fail results. Extract line numbers
from $_multiline_expected_outputs and print them within pass/fail
results, replacing the printing of $index. Consolidate the
string prefix shared between pass/fail into a new local ($title).
2015-12-10 Jeff Law <law@redhat.com> 2015-12-10 Jeff Law <law@redhat.com>
PR tree-optimization/68619 PR tree-optimization/68619
......
...@@ -54,7 +54,9 @@ ...@@ -54,7 +54,9 @@
# The line number of the last dg-begin-multiline-output directive. # The line number of the last dg-begin-multiline-output directive.
set _multiline_last_beginning_line -1 set _multiline_last_beginning_line -1
# A list of lists of strings. # A list of
# first-line-number, last-line-number, lines
# where each "lines" is a list of strings.
set _multiline_expected_outputs [] set _multiline_expected_outputs []
############################################################################ ############################################################################
...@@ -88,12 +90,15 @@ proc dg-end-multiline-output { args } { ...@@ -88,12 +90,15 @@ proc dg-end-multiline-output { args } {
# Load it and split it into lines # Load it and split it into lines
set lines [_get_lines $prog $_multiline_last_beginning_line $line] set lines [_get_lines $prog $_multiline_last_beginning_line $line]
set _multiline_last_beginning_line -1
verbose "lines: $lines" 3 verbose "lines: $lines" 3
# Create an entry of the form: first-line, last-line, lines
set entry [list $_multiline_last_beginning_line $line $lines]
global _multiline_expected_outputs global _multiline_expected_outputs
lappend _multiline_expected_outputs $lines lappend _multiline_expected_outputs $entry
verbose "within dg-end-multiline-output: _multiline_expected_outputs: $_multiline_expected_outputs" 3 verbose "within dg-end-multiline-output: _multiline_expected_outputs: $_multiline_expected_outputs" 3
set _multiline_last_beginning_line -1
} }
# Hook to be called by prune.exp's prune_gcc_output to # Hook to be called by prune.exp's prune_gcc_output to
...@@ -107,9 +112,14 @@ proc dg-end-multiline-output { args } { ...@@ -107,9 +112,14 @@ proc dg-end-multiline-output { args } {
proc handle-multiline-outputs { text } { proc handle-multiline-outputs { text } {
global _multiline_expected_outputs global _multiline_expected_outputs
global testname_with_flags
set index 0 set index 0
foreach multiline $_multiline_expected_outputs { foreach entry $_multiline_expected_outputs {
verbose " multiline: $multiline" 4 verbose " entry: $entry" 3
set start_line [lindex $entry 0]
set end_line [lindex $entry 1]
set multiline [lindex $entry 2]
verbose " multiline: $multiline" 3
set rexp [_build_multiline_regex $multiline $index] set rexp [_build_multiline_regex $multiline $index]
verbose "rexp: ${rexp}" 4 verbose "rexp: ${rexp}" 4
# Escape newlines in $rexp so that we can print them in # Escape newlines in $rexp so that we can print them in
...@@ -117,12 +127,14 @@ proc handle-multiline-outputs { text } { ...@@ -117,12 +127,14 @@ proc handle-multiline-outputs { text } {
set escaped_regex [string map {"\n" "\\n"} $rexp] set escaped_regex [string map {"\n" "\\n"} $rexp]
verbose "escaped_regex: ${escaped_regex}" 4 verbose "escaped_regex: ${escaped_regex}" 4
set title "$testname_with_flags expected multiline pattern lines $start_line-$end_line"
# Use "regsub" to attempt to prune the pattern from $text # Use "regsub" to attempt to prune the pattern from $text
if {[regsub -line $rexp $text "" text]} { if {[regsub -line $rexp $text "" text]} {
# Success; the multiline pattern was pruned. # Success; the multiline pattern was pruned.
pass "expected multiline pattern $index was found: \"$escaped_regex\"" pass "$title was found: \"$escaped_regex\""
} else { } else {
fail "expected multiline pattern $index not found: \"$escaped_regex\"" fail "$title not found: \"$escaped_regex\""
} }
set index [expr $index + 1] set index [expr $index + 1]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment