This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Disabling Secondary Tests


On 06/03/2011 11:14 AM, Lawrence Crowl wrote:
> The PPH project has tests that compile two different ways, and
> then compare the assembly.  If either of the compiles fails, the
> comparison will fail.  We'd like to simply not run the comparison.
> 
> We currently have:
> 
> set have_errs [llength [grep $test "{\[ \t\]\+dg-error\[\t\]\+.*\[ \t\]\+}"]]
> # Compile the file the first time for a base case.
> dg-test -keep-output $test "$options -I." ""
> 
> if { $have_errs } {
>    verbose -log "regular compilation failed"
>    fail "$nshort $options, regular compilation failed"
>    return
> }
> 
> But that only stops subsequent actions when the test is known
> a priori to have errors.  How do we detect compilation errors,
> so as to skip the remainder of the actions?

Complicated GCC tests do this by using local procs instead of dg-runtest
and dg-test.  See, for example, gcc.dg/lto/lto.exp,
gcc.dg/compat/compat.exp and gcc.dg/tree-prof/tree-prof.exp, which use
lto.exp, compat.exp and profopt.exp from GCC's testsuite/lib.  Those
have scenarios in which further testing is skipped after a compile or
link fails.

Janis


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]