On Thu, May 12, 2016 at 6:22 AM, Maxim Uvarov <maxim.uva...@linaro.org>
wrote:

> Having system call inside loop couse unpredictable delay
> as the result wrong time diff calculation. Just removing
> print make hole test execution shorter on 0.1 seconds
> according to cunit stats. Also make verbose errors in
> places where we out of limit in cunit. This should be
> very helpful to understand DELAY_TOLERANCE value suitable
> for all platforms.
>
> Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org>
>

Reviewed-by: Bill Fischofer <bill.fischo...@linaro.org>


> ---
>  test/validation/time/time.c | 35 +++++++++++++++++++++++++++--------
>  1 file changed, 27 insertions(+), 8 deletions(-)
>
> diff --git a/test/validation/time/time.c b/test/validation/time/time.c
> index da456ea..f7f3d14 100644
> --- a/test/validation/time/time.c
> +++ b/test/validation/time/time.c
> @@ -331,7 +331,6 @@ static void time_test_wait_until(time_cb time,
> time_from_ns_cb time_from_ns)
>         for (i = 0; i < WAIT_SECONDS; i++) {
>                 wait = odp_time_sum(wait, second);
>                 odp_time_wait_until(wait);
> -               printf("%d..", i + 1);
>         }
>         end_time = time();
>
> @@ -341,8 +340,19 @@ static void time_test_wait_until(time_cb time,
> time_from_ns_cb time_from_ns)
>         upper_limit = time_from_ns(WAIT_SECONDS * ODP_TIME_SEC_IN_NS +
>                                    DELAY_TOLERANCE);
>
> -       CU_ASSERT(odp_time_cmp(wait, lower_limit) >= 0);
> -       CU_ASSERT(odp_time_cmp(wait, upper_limit) <= 0);
> +       if (odp_time_cmp(wait, lower_limit) < 0) {
> +               fprintf(stderr, "Exceed lower limit: "
> +                       "wait is %" PRIu64 ", lower_limit %" PRIu64 "\n",
> +                       odp_time_to_ns(wait), odp_time_to_ns(lower_limit));
> +               CU_FAIL("Exceed lower limit\n");
> +       }
> +
> +       if (odp_time_cmp(wait, upper_limit) > 0) {
> +               fprintf(stderr, "Exceed upper limit: "
> +                       "wait is %" PRIu64 ", upper_limit %" PRIu64 "\n",
> +                       odp_time_to_ns(wait), odp_time_to_ns(lower_limit));
> +               CU_FAIL("Exceed upper limit\n");
> +       }
>  }
>
>  void time_test_local_wait_until(void)
> @@ -362,10 +372,8 @@ void time_test_wait_ns(void)
>         odp_time_t start_time, end_time, diff;
>
>         start_time = odp_time_local();
> -       for (i = 0; i < WAIT_SECONDS; i++) {
> +       for (i = 0; i < WAIT_SECONDS; i++)
>                 odp_time_wait_ns(ODP_TIME_SEC_IN_NS);
> -               printf("%d..", i + 1);
> -       }
>         end_time = odp_time_local();
>
>         diff = odp_time_diff(end_time, start_time);
> @@ -375,8 +383,19 @@ void time_test_wait_ns(void)
>         upper_limit = odp_time_local_from_ns(WAIT_SECONDS *
> ODP_TIME_SEC_IN_NS +
>                                              DELAY_TOLERANCE);
>
> -       CU_ASSERT(odp_time_cmp(diff, lower_limit) >= 0);
> -       CU_ASSERT(odp_time_cmp(diff, upper_limit) <= 0);
> +       if (odp_time_cmp(diff, lower_limit) < 0) {
> +               fprintf(stderr, "Exceed lower limit: "
> +                       "diff is %" PRIu64 ", lower_limit %" PRIu64 "\n",
> +                       odp_time_to_ns(diff), odp_time_to_ns(lower_limit));
> +               CU_FAIL("Exceed lower limit\n");
> +       }
> +
> +       if (odp_time_cmp(diff, upper_limit) > 0) {
> +               fprintf(stderr, "Exceed upper limit: "
> +                       "diff is %" PRIu64 ", upper_limit %" PRIu64 "\n",
> +                       odp_time_to_ns(diff), odp_time_to_ns(lower_limit));
> +               CU_FAIL("Exceed upper limit\n");
> +       }
>  }
>
>  static void time_test_to_u64(time_cb time)
> --
> 2.7.1.250.gff4ea60
>
> _______________________________________________
> lng-odp mailing list
> lng-odp@lists.linaro.org
> https://lists.linaro.org/mailman/listinfo/lng-odp
>
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to