----- Original Message -----
> From: "Cyril Hrubis" <chru...@suse.cz>
> To: "Jan Stancek" <jstan...@redhat.com>
> Cc: ltp-list@lists.sourceforge.net
> Sent: Monday, 23 February, 2015 3:33:16 PM
> Subject: Re: [LTP] [PATCH] difftime/1-1: avoid running on second boundary
>
> Hi!
> > diff --git
> > a/testcases/open_posix_testsuite/conformance/interfaces/difftime/1-1.c
> > b/testcases/open_posix_testsuite/conformance/interfaces/difftime/1-1.c
> > index 97bf443..2872e08 100644
> > --- a/testcases/open_posix_testsuite/conformance/interfaces/difftime/1-1.c
> > +++ b/testcases/open_posix_testsuite/conformance/interfaces/difftime/1-1.c
> > @@ -15,14 +15,31 @@
> > #include <stdio.h>
> > #include <stdlib.h>
> > #include <unistd.h>
> > +#include <sys/time.h>
> > #include "posixtest.h"
> >
> > int main(void)
> > {
> > time_t time1, time0;
> > -
> > double time_diff;
> > - time_diff = 0;
> > + struct timeval t1;
> > +
> > + /*
> > + * Quoting https://lkml.org/lkml/2015/2/19/384
> > + * "The idea that time() would be ok as being HZ granular, and its
> > + * been this way since 2.6.23. Thus you have a < HZ sized window
> > + * where gettimeofday() will return the next second before time()
> > + * gets updated by the tick."
> > + *
> > + * Avoid running this test on second boundary as there is small
> > + * window, where this test can fail on Linux, reporting that 2
> > + * seconds has passed.
> > + */
> > + do {
> > + usleep(10000);
> > + gettimeofday(&t1, NULL);
> > + } while (t1.tv_usec > 700*1000 || t1.tv_usec < 300*1000);
> > +
> > time0 = time(NULL);
> > sleep(WAIT_DURATION);
> > time1 = time(NULL);
>
> Looking at the test I wonder why we even have to call sleep() and then
That is a good point :-), the test is for difftime.
> time() to get the second timestamp. POSIX specifies that time_t is
> integer of floating point type so assigning a number to it and
> arithmetic should work just fine. So we can just do time1 = time0 + 1
I sent v2 which removes sleep and adds 1.
Regards,
Jan
> instead. Or go even further and pass statically defined values to
> difftime() and compare it with precomputed value.
>
> --
> Cyril Hrubis
> chru...@suse.cz
>
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list