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