<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 21, 2020 at 10:48 PM Aditya Upadhyay <<a href="mailto:aadit0402@gmail.com">aadit0402@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Sat, Mar 21, 2020 at 9:32 PM Eshan Dhawan <<a href="mailto:eshandhawan51@gmail.com" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br>
><br>
> I have added the changes as told by Aditya<br>
> I would like to know is any other changes are required to be made to make the patch usable<br>
><br>
> Thanks<br>
> Eshan<br>
> > On 21-Mar-2020, at 8:20 PM, Eshan dhawan <<a href="mailto:eshandhawan51@gmail.com" target="_blank">eshandhawan51@gmail.com</a>> wrote:<br>
> ><br>
> > ---<br>
> > testsuites/psxtests/psxfenv01/init.c | 89 ++++++++++++++++++++++------<br>
> > 1 file changed, 71 insertions(+), 18 deletions(-)<br>
> ><br>
> > diff --git a/testsuites/psxtests/psxfenv01/init.c b/testsuites/psxtests/psxfenv01/init.c<br>
> > index cdb0fa596e..0ea820c523 100644<br>
> > --- a/testsuites/psxtests/psxfenv01/init.c<br>
> > +++ b/testsuites/psxtests/psxfenv01/init.c<br>
> > @@ -46,11 +46,12 @@<br>
> > #include <string.h><br>
> > #include <rtems/test.h><br>
> > #include <tmacros.h><br>
> > +#include <float.h><br>
> ><br>
> > const char rtems_test_name[] ="PSXFENV 01";<br>
> ><br>
> > /* forward declarations to avoid warnings */<br>
> > -rtems_task Init(rtems_task_argument ignored);<br>
> > +rtems_task Init( rtems_task_argument ignored );<br>
> ><br>
> > /* Test Function Begins */<br>
> > rtems_task Init(rtems_task_argument ignored)<br>
> > @@ -62,28 +63,31 @@ rtems_task Init(rtems_task_argument ignored)<br>
> ><br>
> >  /*<br>
> >   * 'FE_ALL_EXCEPT' will be defined only when 'feclearexcept()',<br>
> > -   * 'fegetexceptflag()', 'feraiseexcept()', 'fesetexceptflag()' and<br>
> > -   * 'fetestexcept()' functions are supported by the architecture.<br>
> > +   * fegetexceptflag() , feraiseexcept(), fesetexceptflag() and<br>
> > +   * fetestexcept() functions are supported by the architecture.<br>
> >   * Hence their testcases can be wrapped under #ifdef and #endif.<br>
> >   */<br>
> >  #ifdef FE_ALL_EXCEPT /* floating-point exceptions */<br>
> >    puts( "fesetenv(FE_DFL_ENV)." );<br>
> > -    r = fesetenv(FE_DFL_ENV);<br>
> > -    if (r)<br>
> > +    r = fesetenv ( FE_DFL_ENV );<br>
<br>
It should be like r = fesetenv( FE_DFL_ENV).<br>
<br>
> > +    if ( r ) {<br>
> >      printf("fesetenv ==> %d\n", r);<br>
<br>
After (, one space needed.<br>
> > -    rtems_test_assert( r == 0 );<br>
> > +    }<br>
> > +    rtems_test_assert ( r == 0 );<br>
<br>
Same here, Remove this unnecessary space, assert and (.<br>
<br>
> ><br>
> > -    /* Test 'feclearexcept()' and 'fetestexcept()' in one go. */<br>
> > -    puts( "feclearexcept(FE_ALL_EXCEPT)." );<br>
> > -    r = feclearexcept(FE_ALL_EXCEPT);<br>
> > -    if (r)<br>
> > +    /* Test feclearexcept() and fetestexcept() in one go. */<br>
> > +    puts( "feclearexcept(FE_ALL_EXCEPT)" );<br>
> > +    r = feclearexcept ( FE_ALL_EXCEPT );<br>
> > +    if ( r ) {<br>
> >      printf("feclearexcept ==> 0x%x\n", r);<br>
> > -    rtems_test_assert( r == 0 );<br>
> > +    }<br>
> > +    rtems_test_assert ( r == 0 );<br>
> ><br>
Same here.<br>
<br>
> > -    r = fetestexcept( FE_ALL_EXCEPT );<br>
> > -    if (r)<br>
> > +    r = fetestexcept ( FE_ALL_EXCEPT );<br>
> > +    if ( r ) {<br>
> >      printf("fetestexcept ==> 0x%x\n", r);<br>
> > -    rtems_test_assert( r == 0 );<br>
> > +    }<br>
> > +    rtems_test_assert ( r == 0 );<br>
> ><br>
> >    /* Test 'FE_DIVBYZERO' */<br>
> >    puts( "Divide by zero and confirm fetestexcept()" );<br>
> > @@ -91,11 +95,60 @@ rtems_task Init(rtems_task_argument ignored)<br>
> >    b = 1.0;<br>
> >    c = b/a;<br>
> >    (void) c;<br>
> > -<br>
> > -    fegetexceptflag(&excepts,FE_ALL_EXCEPT);<br>
> > -<br>
> > +    /* Test fegetexceptflag() and fesetexceptflag() */<br>
> > +    r = fegetexceptflag ( &excepts, FE_ALL_EXCEPT );<br>
> > +    if ( r ) {<br>
> > +      printf("fegetexceptflag ==> 0x%x\n", r);<br>
> > +    }<br>
> > +    rtems_test_assert ( r == 0 );<br>
> > +<br>
> > +    r = fesetexceptflag ( &excepts, FE_ALL_EXCEPT );<br>
> > +    if ( r ) {<br>
> > +      printf("fesetexceptflag ==> 0x%x\n", r);<br>
> > +    }<br>
> > +    rtems_test_assert ( r == 0 );<br>
> > +<br>
> > +    /* Test for fegetround() and fesetround()<br>
> > +     * They have four main macros to be tested separated by ifdef<br>
> > +     * Since not all architectures support them<br>
> > +     * The test case gets and sets the rounding directions */<br>
> > +#ifdef FE_TONEAREST<br>
> > +    rtems_test_assert ( fegetround() == FE_TONEAREST );<br>
> > +#endif<br>
> > +#ifdef FE_TOWARDZERO<br>
> > +  r = fesetround ( FE_TOWARDZERO );<br>
> > +  if ( r ) {<br>
> > +      printf("fesetround ==> 0x%x\n", r);<br>
> > +    }<br>
> > +  rtems_test_assert ( r == 0 );<br>
> > +  rtems_test_assert ( fegetround() == FE_TOWARDZERO );<br>
> > +#endif<br>
> > +#ifdef FE_DOWNWARD<br>
> > +  r = fesetround ( FE_DOWNWARD );<br>
> > +  if ( r ) {<br>
> > +      printf("fesetround ==> 0x%x\n", r);<br>
> > +    }<br>
> > +  rtems_test_assert ( r == 0 );<br>
> > +  rtems_test_assert ( fegetround() == FE_DOWNWARD );<br>
> > +#endif<br>
> > +#ifdef FE_UPWARD<br>
> > +  r = fesetround ( FE_UPWARD );<br>
> > +  if ( r ) {<br>
> > +      printf("fesetround ==> 0x%x\n", r);<br>
> > +    }<br>
> > +  rtems_test_assert ( r == 0 );<br>
> > +  rtems_test_assert ( fegetround() == FE_UPWARD );<br>
> > +#endif<br>
> > +#ifdef FE_TONEAREST<br>
> > +  r = fesetround ( FE_TONEAREST );<br>
> > +  if ( r ) {<br>
> > +      printf("fesetround ==> 0x%x\n", r);<br>
> > +    }<br>
> > +  rtems_test_assert ( r == 0 );<br>
> > +#endif<br>
> > +<br>
> > #ifdef FE_DIVBYZERO<br>
> > -    r = feraiseexcept(FE_DIVBYZERO);<br>
> > +    r = feraiseexcept ( FE_DIVBYZERO ) ;<br>
> >    rtems_test_assert( fetestexcept( FE_DIVBYZERO ) );<br>
> > #endif<br>
> ><br>
> > --<br>
> > 2.17.1<br>
<br>
I would suggest you go through the existing test-cases within the<br>
/rtems5/testsuites/psxtests directory. Use any of the .c files as a<br>
reference.<br>
Make the change accordingly.<br></blockquote><div>Ok, I will do that, The test was written earlier I have just added test cases to it.<br></div><div>So while writing it took reference from the earlier merged file.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Are you able to check the values of these variables that you have used<br>
in this test?<br></blockquote><div>can you please elaborate your question, please :) <br></div><div> </div></div></div>