From: Alexandre Oliva Date: Wed, 22 Feb 2023 17:35:36 +0000 (-0300) Subject: testsuite: Skip module_cmi_p and related unsupported module test X-Git-Tag: basepoints/gcc-14~919 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5344482c4d3ae0618fa8f5ed38f8309db43fdb82;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/testsuite/g++.dg/modules/modules.exp b/gcc/testsuite/g++.dg/modules/modules.exp index 61994b059457..e66b2082f205 100644 --- a/gcc/testsuite/g++.dg/modules/modules.exp +++ b/gcc/testsuite/g++.dg/modules/modules.exp @@ -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] }