testsuite: Skip module_cmi_p and related unsupported module test
When a multi-source module is found to be unsupported, we fail module_cmi_p and subsequent sources. Override proc unsupported to mark the result in module_do, and test it to skip module_cmp_p and subsequent related tests. for gcc/testsuite/ChangeLog * g++.dg/modules/modules.exp: Override unsupported to update module_do, and test it after dg-test.
This commit is contained in:
parent
1a684dca0e
commit
5344482c4d
1 changed files with 17 additions and 0 deletions
|
@ -315,6 +315,17 @@ proc module-check-requirements { tests } {
|
|||
# cleanup any detritus from previous run
|
||||
cleanup_module_files [find $DEFAULT_REPO *.gcm]
|
||||
|
||||
# Override unsupported to set the second element of module_do to "N",
|
||||
# so that, after an unsupported result in dg-test, we can skip rather
|
||||
# than fail subsequent related tests.
|
||||
set module_do {"compile" "P"}
|
||||
rename unsupported saved-unsupported
|
||||
proc unsupported { args } {
|
||||
global module_do
|
||||
lset module_do 1 "N"
|
||||
return [saved-unsupported $args]
|
||||
}
|
||||
|
||||
# not grouped tests, sadly tcl doesn't have negated glob
|
||||
foreach test [prune [lsort [find $srcdir/$subdir {*.[CH]}]] \
|
||||
"$srcdir/$subdir/*_?.\[CH\]"] {
|
||||
|
@ -327,6 +338,9 @@ foreach test [prune [lsort [find $srcdir/$subdir {*.[CH]}]] \
|
|||
set module_cmis {}
|
||||
verbose "Testing $nshort $std" 1
|
||||
dg-test $test "$std" $DEFAULT_MODFLAGS
|
||||
if { [lindex $module_do 1] == "N" } {
|
||||
continue
|
||||
}
|
||||
set testcase [string range $test [string length "$srcdir/"] end]
|
||||
cleanup_module_files [module_cmi_p $testcase $module_cmis]
|
||||
}
|
||||
|
@ -372,6 +386,9 @@ foreach src [lsort [find $srcdir/$subdir {*_a.[CHX}]] {
|
|||
}
|
||||
}
|
||||
dg-test -keep-output $test "$std" $DEFAULT_MODFLAGS
|
||||
if { [lindex $module_do 1] == "N" } {
|
||||
break
|
||||
}
|
||||
set testcase [string range $test [string length "$srcdir/"] end]
|
||||
lappend mod_files [module_cmi_p $testcase $module_cmis]
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue