Failures from __ode15__ in 'make check'

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

Failures from __ode15__ in 'make check'

Rik-4
12/16/16

Carlo,

I'm getting 50+ failures from __ode15__.cc when running 'make check'.  They
are all of this type

***** test  # Mass option as matrix
 opt = odeset ("Mass", eye (2,2), "MStateDependence", "none");
 sol = ode15s (@fpol, [0 2], [2 0], opt);
 assert ([sol.x(end), sol.y(end,:)], [2, fref], 3e-3);
!!!!! test failed
__ode15__: support for sundials_ida, sundials_nvecserial was unavailable or
disabled when Octave was built

It appears that a common declaration, like HAVE_SUNDIALS, needs to be
declared by configure so that  these tests are only run when there is
support for them.  The correstponding tests can then begin with

%!testif HAVE_SUNDIALS

--Rik


Reply | Threaded
Open this post in threaded view
|

Re: Failures from __ode15__ in 'make check'

Carlo de Falco-2

On 16 Dec 2016, at 22:06, Rik <[hidden email]> wrote:

> 12/16/16
>
> Carlo,
>
> I'm getting 50+ failures from __ode15__.cc when running 'make check'.  They
> are all of this type
>
> ***** test  # Mass option as matrix
> opt = odeset ("Mass", eye (2,2), "MStateDependence", "none");
> sol = ode15s (@fpol, [0 2], [2 0], opt);
> assert ([sol.x(end), sol.y(end,:)], [2, fref], 3e-3);
> !!!!! test failed
> __ode15__: support for sundials_ida, sundials_nvecserial was unavailable or
> disabled when Octave was built
>
> It appears that a common declaration, like HAVE_SUNDIALS, needs to be
> declared by configure so that  these tests are only run when there is
> support for them.  The correstponding tests can then begin with
>
> %!testif HAVE_SUNDIALS
>
> --Rik


Rik,

Thanks for the feedback.

There is already such a flag defined in the config files,
is there anything else that needs to be done or can I just
add %!testif HAVE_SUNDIALS ?

c.



Reply | Threaded
Open this post in threaded view
|

Re: Failures from __ode15__ in 'make check'

Rik-4
On 12/17/2016 12:58 AM, Carlo De Falco wrote:

> On 16 Dec 2016, at 22:06, Rik <[hidden email]> wrote:
>
>> 12/16/16
>>
>> Carlo,
>>
>> I'm getting 50+ failures from __ode15__.cc when running 'make check'.  They
>> are all of this type
>>
>> ***** test  # Mass option as matrix
>> opt = odeset ("Mass", eye (2,2), "MStateDependence", "none");
>> sol = ode15s (@fpol, [0 2], [2 0], opt);
>> assert ([sol.x(end), sol.y(end,:)], [2, fref], 3e-3);
>> !!!!! test failed
>> __ode15__: support for sundials_ida, sundials_nvecserial was unavailable or
>> disabled when Octave was built
>>
>> It appears that a common declaration, like HAVE_SUNDIALS, needs to be
>> declared by configure so that  these tests are only run when there is
>> support for them.  The correstponding tests can then begin with
>>
>> %!testif HAVE_SUNDIALS
>>
>> --Rik
>
> Rik,
>
> Thanks for the feedback.
>
> There is already such a flag defined in the config files,
> is there anything else that needs to be done or can I just
> add %!testif HAVE_SUNDIALS ?

No, that's all there is to it.

--Rik


Reply | Threaded
Open this post in threaded view
|

Re: Failures from __ode15__ in 'make check'

John W. Eaton
Administrator
On 12/17/2016 04:12 PM, Rik wrote:

> On 12/17/2016 12:58 AM, Carlo De Falco wrote:
>> On 16 Dec 2016, at 22:06, Rik <[hidden email]> wrote:
>>
>>> 12/16/16
>>>
>>> Carlo,
>>>
>>> I'm getting 50+ failures from __ode15__.cc when running 'make check'.  They
>>> are all of this type
>>>
>>> ***** test  # Mass option as matrix
>>> opt = odeset ("Mass", eye (2,2), "MStateDependence", "none");
>>> sol = ode15s (@fpol, [0 2], [2 0], opt);
>>> assert ([sol.x(end), sol.y(end,:)], [2, fref], 3e-3);
>>> !!!!! test failed
>>> __ode15__: support for sundials_ida, sundials_nvecserial was unavailable or
>>> disabled when Octave was built
>>>
>>> It appears that a common declaration, like HAVE_SUNDIALS, needs to be
>>> declared by configure so that  these tests are only run when there is
>>> support for them.  The correstponding tests can then begin with
>>>
>>> %!testif HAVE_SUNDIALS
>>>
>>> --Rik
>>
>> Rik,
>>
>> Thanks for the feedback.
>>
>> There is already such a flag defined in the config files,
>> is there anything else that needs to be done or can I just
>> add %!testif HAVE_SUNDIALS ?
>
> No, that's all there is to it.

I checked in a changeset that fixes the %!test blocks.

I'm not sure what to do about the %!error blocks.  Currently they pass
because there is no text to match, but I suspect that at least some of
them will start to fail if you add expected error messages because the
actual error message may be different when Sundials is present vs when
it is missing.  We don't have an %!errorif block, and I'm not really
excited by the idea of adding it.

jwe



Reply | Threaded
Open this post in threaded view
|

Re: Failures from __ode15__ in 'make check'

Rik-4
On 12/22/2016 12:41 PM, John W. Eaton wrote:

> On 12/17/2016 04:12 PM, Rik wrote:
>> On 12/17/2016 12:58 AM, Carlo De Falco wrote:
>>> On 16 Dec 2016, at 22:06, Rik <[hidden email]> wrote:
>>>
>>>> 12/16/16
>>>>
>>>> Carlo,
>>>>
>>>> I'm getting 50+ failures from __ode15__.cc when running 'make check'.
>>>> They
>>>> are all of this type
>>>>
>>>> ***** test  # Mass option as matrix
>>>> opt = odeset ("Mass", eye (2,2), "MStateDependence", "none");
>>>> sol = ode15s (@fpol, [0 2], [2 0], opt);
>>>> assert ([sol.x(end), sol.y(end,:)], [2, fref], 3e-3);
>>>> !!!!! test failed
>>>> __ode15__: support for sundials_ida, sundials_nvecserial was
>>>> unavailable or
>>>> disabled when Octave was built
>>>>
>>>> It appears that a common declaration, like HAVE_SUNDIALS, needs to be
>>>> declared by configure so that  these tests are only run when there is
>>>> support for them.  The correstponding tests can then begin with
>>>>
>>>> %!testif HAVE_SUNDIALS
>>>>
>>>> --Rik
>>>
>>> Rik,
>>>
>>> Thanks for the feedback.
>>>
>>> There is already such a flag defined in the config files,
>>> is there anything else that needs to be done or can I just
>>> add %!testif HAVE_SUNDIALS ?
>>
>> No, that's all there is to it.
>
> I checked in a changeset that fixes the %!test blocks.
>
> I'm not sure what to do about the %!error blocks.  Currently they pass
> because there is no text to match, but I suspect that at least some of
> them will start to fail if you add expected error messages because the
> actual error message may be different when Sundials is present vs when it
> is missing.  We don't have an %!errorif block, and I'm not really excited
> by the idea of adding it.

For those, change

%!error <ERR PTN STR> test_code

to

%!testif HAVE_SUNDIALS
%! fail ("test_code", "ERR PTN STR");

--Rik


Reply | Threaded
Open this post in threaded view
|

Re: Failures from __ode15__ in 'make check'

John W. Eaton
Administrator
On 12/22/2016 05:54 PM, Rik wrote:

> For those, change
>
> %!error <ERR PTN STR> test_code
>
> to
>
> %!testif HAVE_SUNDIALS
> %! fail ("test_code", "ERR PTN STR");

Thanks.

I updated the remaining %!error tests in ode15i.m.

jwe