Hi,

On Fri, 2009-03-13 at 13:36 +0800, CAI Qian wrote: 
> Hi,
> 
> This patch addes warnings in pselect01 and nanosleep02 test cases that
> the certain failures may due to the limitation of the way it calculates
> the system call execution time. For example, in pselect01 test case,
> 
>   start = time(&t);
>    retval = pselect(0, &readfds, NULL, NULL, (struct timespec *)&tv,NULL);
>   end = time(&t);
> 
>   /* Changed total_sec compare to an at least vs an exact compare */
> 
>   if(((end - start) >= total_sec) && ((end - start) <= total_sec + 1))
>   tst_resm(TPASS,"Sleep time was correct");
>   else
>   tst_resm(TFAIL,"Sleep time was incorrect:%d != %d",total_sec,(end - start));
>  }
> 
> "end - start" is not the actual syscall execution time. It could sleep
> a little bit more, and the task can be preempted before
> "end = time(&t)". "end - start" maybe even bigger if the system is under
> load.
> 
> In addition, looks like pselect01_64 test case does not exist anymore,
> so I have removed it from the runtest file. Is it correct?
> 
> Signed-off-by: CAI Qian <[email protected]>
> 
> --- runtest/syscalls.orig     2009-03-12 22:18:35.000000000 +0800
> +++ runtest/syscalls  2009-03-13 13:32:45.000000000 +0800
> @@ -700,7 +700,6 @@
>  profil01 profil01
> 
>  pselect01 pselect01
> -pselect01_64 pselect01_64

Not sure whey these should be removed, when i see it build/install/run
properly.

> 
>  ptrace01 ptrace01
>  ptrace02 ptrace02
> --- testcases/kernel/syscalls/pselect/pselect01.c.orig        2009-03-12 
> 22:19:50.000000000 +0800
> +++ testcases/kernel/syscalls/pselect/pselect01.c     2009-03-13 
> 13:33:03.000000000 +0800
> @@ -129,9 +129,13 @@
>    /* Changed total_sec compare to an at least vs an exact compare */
> 
>    if(((end - start) >= total_sec) && ((end - start) <= total_sec + 1))
> -  tst_resm(TPASS,"Sleep time was correct");
> -  else
> -  tst_resm(TFAIL,"Sleep time was incorrect:%d != %d",total_sec,(end - 
> start));
> +    tst_resm(TPASS,"Sleep time was correct");
> +  else {
> +    tst_resm(TWARN,"This test could fail if the system was under load");
> +    tst_resm(TWARN,"due to the limitation of the way it calculates the");
> +    tst_resm(TWARN,"system call execution time.");
> +    tst_resm(TFAIL,"Sleep time was incorrect:%d != %d",total_sec,(end - 
> start));
> +  }
>   }
>   cleanup();
>  return 0;
> --- testcases/kernel/syscalls/nanosleep/nanosleep02.c.orig    2009-03-12 
> 22:29:44.000000000 +0800
> +++ testcases/kernel/syscalls/nanosleep/nanosleep02.c 2009-03-13 
> 13:32:56.000000000 +0800
> @@ -214,6 +214,9 @@
>         elapsed = (ntime.tv_sec - otime.tv_sec) * 1000000 + ntime.tv_usec - 
> otime.tv_usec;
> 
>         if (rem - (req - elapsed) > USEC_PRECISION) {
> +               tst_resm(TWARN,"This test could fail if the system was under 
> load");
> +               tst_resm(TWARN,"due to the limitation of the way it 
> calculates the");
> +               tst_resm(TWARN,"system call execution time.");
>                 tst_resm(TFAIL, "Remaining sleep time %lu usec doesn't "
>                          "match with the expected %lu usec time",
>                        rem, (req - elapsed));
> @@ -255,6 +258,9 @@
>                 req = timereq.tv_sec * 1000000 + timereq.tv_nsec / 1000;
>                 elapsed = (ntime.tv_sec - otime.tv_sec) * 1000000 + 
> ntime.tv_usec - otime.tv_usec;
>                 if (elapsed - req > USEC_PRECISION) {
> +                     tst_resm(TWARN,"This test could fail if the system was 
> under load");
> +                     tst_resm(TWARN,"due to the limitation of the way it 
> calculates the");
> +                     tst_resm(TWARN,"system call execution time.");
>                       tst_resm(TFAIL, "Child execution not "
>                                  "suspended for %d seconds %lu nanoseconds",
>                                  timereq.tv_sec, timereq.tv_nsec);

However, these changes are fine and hence merged.

Regards--
Subrata

> 
> ------------------------------------------------------------------------------
> Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
> powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
> easily build your RIAs with Flex Builder, the Eclipse(TM)based development
> software that enables intelligent coding and step-through debugging.
> Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
> _______________________________________________
> Ltp-list mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ltp-list


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to