Commit 66d0be85 by Janis Johnson Committed by Janis Johnson

scandump.exp (scan-dump): Handle non-existent dump file.

	* lib/scandump.exp (scan-dump): Handle non-existent dump file.
	(scan-dump-times): Ditto.
	(scan-dump-not): Ditto.
	(scan-dump-dem): Ditto.
	(scan-dump-dem-not): Ditto.

From-SVN: r135690
parent 8a93eaf2
2008-05-20 Janis Johnson <janis187@us.ibm.com> 2008-05-20 Janis Johnson <janis187@us.ibm.com>
* lib/scandump.exp (scan-dump): Handle non-existent dump file.
(scan-dump-times): Ditto.
(scan-dump-not): Ditto.
(scan-dump-dem): Ditto.
(scan-dump-dem-not): Ditto.
* obj-c++.dg/bitfield-1.mm: XFAIL for ICE; move dg-options after other * obj-c++.dg/bitfield-1.mm: XFAIL for ICE; move dg-options after other
test directives; use dg-prune-output instead of dg-excess-errors for test directives; use dg-prune-output instead of dg-excess-errors for
possible message to ignore; adjust line numbers for messages. possible message to ignore; adjust line numbers for messages.
......
...@@ -49,18 +49,23 @@ proc scan-dump { args } { ...@@ -49,18 +49,23 @@ proc scan-dump { args } {
# A cleaner solution would require a new DejaGnu release. # A cleaner solution would require a new DejaGnu release.
upvar 3 name testcase upvar 3 name testcase
set suf [dump-suffix [lindex $args 2]]
set testname "$testcase scan-[lindex $args 0]-dump $suf \"[lindex $args 1]\""
set src [file tail [lindex $testcase 0]] set src [file tail [lindex $testcase 0]]
set output_file "[glob $src.[lindex $args 2]]" set output_file "[glob -nocomplain $src.[lindex $args 2]]"
if { $output_file == "" } {
fail "$testname: dump file does not exist"
return
}
set fd [open $output_file r] set fd [open $output_file r]
set text [read $fd] set text [read $fd]
close $fd close $fd
set suf [dump-suffix [lindex $args 2]]
if [regexp -- [lindex $args 1] $text] { if [regexp -- [lindex $args 1] $text] {
pass "$testcase scan-[lindex $args 0]-dump $suf \"[lindex $args 1]\"" pass "$testname"
} else { } else {
fail "$testcase scan-[lindex $args 0]-dump $suf \"[lindex $args 1]\"" fail "$testname"
} }
} }
...@@ -86,18 +91,23 @@ proc scan-dump-times { args } { ...@@ -86,18 +91,23 @@ proc scan-dump-times { args } {
# A cleaner solution would require a new DejaGnu release. # A cleaner solution would require a new DejaGnu release.
upvar 3 name testcase upvar 3 name testcase
set suf [dump-suffix [lindex $args 3]]
set testname "$testcase scan-[lindex $args 0]-dump-times $suf \"[lindex $args 1]\" [lindex $args 2]"
set src [file tail [lindex $testcase 0]] set src [file tail [lindex $testcase 0]]
set output_file "[glob $src.[lindex $args 3]]" set output_file "[glob -nocomplain $src.[lindex $args 3]]"
if { $output_file == "" } {
fail "$testname: dump file does not exist"
return
}
set fd [open $output_file r] set fd [open $output_file r]
set text [read $fd] set text [read $fd]
close $fd close $fd
set suf [dump-suffix [lindex $args 3]]
if { [llength [regexp -inline -all -- [lindex $args 1] $text]] == [lindex $args 2]} { if { [llength [regexp -inline -all -- [lindex $args 1] $text]] == [lindex $args 2]} {
pass "$testcase scan-[lindex $args 0]-dump-times $suf \"[lindex $args 1]\" [lindex $args 2]" pass "$testname"
} else { } else {
fail "$testcase scan-[lindex $args 0]-dump-times $suf \"[lindex $args 1]\" [lindex $args 2]" fail "$testname"
} }
} }
...@@ -122,18 +132,24 @@ proc scan-dump-not { args } { ...@@ -122,18 +132,24 @@ proc scan-dump-not { args } {
# it still stores the filename of the testcase in a local variable "name". # it still stores the filename of the testcase in a local variable "name".
# A cleaner solution would require a new DejaGnu release. # A cleaner solution would require a new DejaGnu release.
upvar 3 name testcase upvar 3 name testcase
set suf [dump-suffix [lindex $args 2]]
set testname "$testcase scan-[lindex $args 0]-dump-not $suf \"[lindex $args 1]\""
set src [file tail [lindex $testcase 0]] set src [file tail [lindex $testcase 0]]
set output_file "[glob $src.[lindex $args 2]]" set output_file "[glob -nocomplain $src.[lindex $args 2]]"
if { $output_file == "" } {
fail "$testname: dump file does not exist"
return
}
set fd [open $output_file r] set fd [open $output_file r]
set text [read $fd] set text [read $fd]
close $fd close $fd
set suf [dump-suffix [lindex $args 2]]
if ![regexp -- [lindex $args 1] $text] { if ![regexp -- [lindex $args 1] $text] {
pass "$testcase scan-[lindex $args 0]-dump-not $suf \"[lindex $args 1]\"" pass "$testname"
} else { } else {
fail "$testcase scan-[lindex $args 0]-dump-not $suf \"[lindex $args 1]\"" fail "$testname"
} }
} }
...@@ -168,18 +184,23 @@ proc scan-dump-dem { args } { ...@@ -168,18 +184,23 @@ proc scan-dump-dem { args } {
} }
upvar 3 name testcase upvar 3 name testcase
set suf [dump-suffix [lindex $args 2]]
set testname "$testcase scan-[lindex $args 0]-dump-dem $suf \"[lindex $args 1]\""
set src [file tail [lindex $testcase 0]] set src [file tail [lindex $testcase 0]]
set output_file "[glob $src.[lindex $args 2]]" set output_file "[glob -nocomplain $src.[lindex $args 2]]"
if { $output_file == "" } {
fail "$testname: dump file does not exist"
return
}
set fd [open "| $cxxfilt < $output_file" r] set fd [open "| $cxxfilt < $output_file" r]
set text [read $fd] set text [read $fd]
close $fd close $fd
set suf [dump-suffix [lindex $args 2]]
if [regexp -- [lindex $args 1] $text] { if [regexp -- [lindex $args 1] $text] {
pass "$testcase scan-[lindex $args 0]-dump-dem $suf \"[lindex $args 1]\"" pass "$testname"
} else { } else {
fail "$testcase scan-[lindex $args 0]-dump-dem $suf \"[lindex $args 1]\"" fail "$testname"
} }
} }
...@@ -213,17 +234,23 @@ proc scan-dump-dem-not { args } { ...@@ -213,17 +234,23 @@ proc scan-dump-dem-not { args } {
} }
upvar 3 name testcase upvar 3 name testcase
set suf [dump-suffix [lindex $args 2]]
set testname "$testcase scan-[lindex $args 0]-dump-dem-not $suf \"[lindex $args 1]\""
set src [file tail [lindex $testcase 0]] set src [file tail [lindex $testcase 0]]
set output_file "[glob $src.[lindex $args 2]]" set output_file "[glob -nocomplain $src.[lindex $args 2]]"
if { $output_file == "" } {
fail "$testname: dump file does not exist"
return
}
set fd [open "| $cxxfilt < $output_file" r] set fd [open "| $cxxfilt < $output_file" r]
set text [read $fd] set text [read $fd]
close $fd close $fd
set suf [dump-suffix [lindex $args 2]]
if ![regexp -- [lindex $args 1] $text] { if ![regexp -- [lindex $args 1] $text] {
pass "$testcase scan-[lindex $args 0]-dump-dem-not $suf \"[lindex $args 1]\"" pass "$testname"
} else { } else {
fail "$testcase scan-[lindex $args 0]-dump-dem-not $suf \"[lindex $args 1]\"" fail "$testname"
} }
} }
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