dg-skip-if in Fortran testsuite

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

dg-skip-if in Fortran testsuite

Paul Koning-6
I'm looking at some testsuite failures that are caused by address space exceeded in my small target (pdp11).

For C testsuites, the answer is simple: drop in something like this:

! { dg-skip-if "Array too big" { "pdp11-*-*" } }

But the Fortran test suite doesn't pay attention to that.  It looks like this is because target-supports-dg.exp isn't included from fortran-torture.exp.  But simply including it there doesn't work (I get a complaint from Dejagnu that doesn't mean much to me).

Any suggestions on how to do this?  There are only a couple of test cases where this is needed, but it would be nice to have a clean test run.

        paul

Reply | Threaded
Open this post in threaded view
|

Re: dg-skip-if in Fortran testsuite

Fritz Reese
On Fri, Jul 13, 2018 at 1:38 PM Paul Koning <[hidden email]> wrote:

>
> I'm looking at some testsuite failures that are caused by address space exceeded in my small target (pdp11).
>
> For C testsuites, the answer is simple: drop in something like this:
>
> ! { dg-skip-if "Array too big" { "pdp11-*-*" } }
>
> But the Fortran test suite doesn't pay attention to that.  It looks like this is because target-supports-dg.exp isn't included from fortran-torture.exp.  But simply including it there doesn't work (I get a complaint from Dejagnu that doesn't mean much to me).
>
> Any suggestions on how to do this?  There are only a couple of test cases where this is needed, but it would be nice to have a clean test run.
>
>         paul
>

I believe you can omit the testcase for certain targets by mangling
the 'target' field of dg-do. Grepping through the gfortran.dg
testsuite yields a few examples which look like:

> { dg-do run { target { ! { pdp11-*-* } } } }
> { dg-do run { xfail pdp11-*-* } }

Presumably you could omit errors/warnings on a case-by-case basis similarly:

> ... { dg-error "Array too big" "" { target { ! { pdp11-*-* } } } }

Fritz