[LTP] [PATCH] clocks/invaliddates.c: relax acceptable delta

Li Wang liwang@redhat.com
Fri Jun 19 03:31:08 CEST 2020


On Thu, Jun 18, 2020 at 6:24 PM Jan Stancek <jstancek@redhat.com> wrote:

> Test allows just 5ms delta for PASS, and test randomly fails in
> environments with shared resources and increased steal time.
>
> Relax the condition and also print deltas if test fails.
> Remove DEBUG ifdefs and main parameters to avoid unused variable
> warning.
>
> Signed-off-by: Jan Stancek <jstancek@redhat.com>
> ---
>  .../functional/timers/clocks/invaliddates.c   | 25 +++++++------------
>  1 file changed, 9 insertions(+), 16 deletions(-)
>
> diff --git
> a/testcases/open_posix_testsuite/functional/timers/clocks/invaliddates.c
> b/testcases/open_posix_testsuite/functional/timers/clocks/invaliddates.c
> index face334fd250..d4116b1e9bc0 100644
> ---
> a/testcases/open_posix_testsuite/functional/timers/clocks/invaliddates.c
> +++
> b/testcases/open_posix_testsuite/functional/timers/clocks/invaliddates.c
> @@ -18,8 +18,7 @@
>
>  #define NUMTESTS 5
>
> -#define ACCEPTABLESECDELTA 0
> -#define ACCEPTABLENSECDELTA 5000000
> +#define ACCEPTABLESECDELTA 2
>

It's hard to say what size of the second-delta is a proper value, but to
increase it can obviously decrease the failure probability. If there is no
better way I'd go with this patch.

Reviewed-by: Li Wang <liwang@redhat.com>



>
>  static int testtimes[NUMTESTS][2] = {
>         {INT32_MAX, 999999999}, // large number
> @@ -29,7 +28,7 @@ static int testtimes[NUMTESTS][2] = {
>         {1049623200, 999999999},        // daylight savings 2003
>  };
>
> -int main(int argc, char *argv[])
> +int main(void)
>  {
>         struct timespec tpset, tpget, tsreset;
>         int secdelta, nsecdelta;
> @@ -44,9 +43,6 @@ int main(int argc, char *argv[])
>         for (i = 0; i < NUMTESTS; i++) {
>                 tpset.tv_sec = testtimes[i][0];
>                 tpset.tv_nsec = testtimes[i][1];
> -#ifdef DEBUG
> -               printf("Test: %ds %dns\n", testtimes[i][0],
> testtimes[i][1]);
> -#endif
>                 if (clock_settime(CLOCK_REALTIME, &tpset) == 0) {
>                         if (clock_gettime(CLOCK_REALTIME, &tpget) == -1) {
>                                 printf("Error in clock_gettime()\n");
> @@ -58,16 +54,13 @@ int main(int argc, char *argv[])
>                                 nsecdelta = nsecdelta + 1000000000;
>                                 secdelta = secdelta - 1;
>                         }
> -#ifdef DEBUG
> -                       printf("Delta:  %ds %dns\n", secdelta, nsecdelta);
> -#endif
> -                       if ((secdelta > ACCEPTABLESECDELTA) || (secdelta <
> 0)) {
> -                               printf("clock does not appear to be
> set\n");
> -                               failure = 1;
> -                       }
> -                       if ((nsecdelta > ACCEPTABLENSECDELTA) ||
> -                           (nsecdelta < 0)) {
> -                               printf("clock does not appear to be
> set\n");
> +
> +                       if ((secdelta > ACCEPTABLESECDELTA)
> +                               || (secdelta < 0)) {
> +                               printf("FAIL: test(%d,%d), secdelta: %d,"
> +                                       " nsecdelta: %d\n",
> +                                       testtimes[i][0], testtimes[i][1],
> +                                       secdelta, nsecdelta);
>                                 failure = 1;
>                         }
>                 } else {
> --
> 2.18.1
>
>

-- 
Regards,
Li Wang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linux.it/pipermail/ltp/attachments/20200619/1ffe0c9f/attachment-0001.htm>


More information about the ltp mailing list