[FFmpeg-devel] [PATCH] avutil/tests: Improved code coverage for random_seed
Michael Niedermayer
michael at niedermayer.cc
Sat Dec 24 15:48:14 EET 2016
On Sat, Dec 24, 2016 at 12:30:06AM -0300, James Almer wrote:
> On 12/22/2016 9:12 PM, Thomas Turner wrote:
> > Signed-off-by: Thomas Turner <thomastdt at googlemail.com>
> > ---
> > libavutil/tests/random_seed.c | 34 +++++++++++++++++++++-------------
> > tests/ref/fate/random_seed | 1 +
> > 2 files changed, 22 insertions(+), 13 deletions(-)
> >
> > diff --git a/libavutil/tests/random_seed.c b/libavutil/tests/random_seed.c
> > index ebe9b3e..fcd68bc 100644
> > --- a/libavutil/tests/random_seed.c
> > +++ b/libavutil/tests/random_seed.c
> > @@ -23,24 +23,32 @@
> >
> > #undef printf
> > #define N 256
> > +#define F 2
> > #include <stdio.h>
> >
> > +typedef uint32_t (*random_seed_ptr_t)(void);
> > +
> > int main(void)
> > {
> > - int i, j, retry;
> > + int i, j, rsf, retry;
> > uint32_t seeds[N];
> > + random_seed_ptr_t random_seed[F] = {av_get_random_seed, get_generic_seed};
> >
> > - for (retry=0; retry<3; retry++){
> > - for (i=0; i<N; i++){
> > - seeds[i] = av_get_random_seed();
> > - for (j=0; j<i; j++)
> > - if (seeds[j] == seeds[i])
> > - goto retry;
> > + for (rsf=0; rsf<F; ++rsf){
> > + for (retry=0; retry<3; retry++){
> > + for (i=0; i<N; i++){
> > + seeds[i] = random_seed[rsf]();
> > + for (j=0; j<i; j++)
> > + if (seeds[j] == seeds[i])
> > + goto retry;
> > + }
> > + printf("seeds OK\n");
> > + goto next;
> > + retry:;
> > }
> > - printf("seeds OK\n");
> > - return 0;
> > - retry:;
> > + printf("rsf %d: FAIL at %d with %X\n", rsf, j, seeds[j]);
> > + return 1;
> > + next:;
> > }
> > - printf("FAIL at %d with %X\n", j, seeds[j]);
> > - return 1;
> > -}
> > + return 0;
> > + }
> > \ No newline at end of file
> > diff --git a/tests/ref/fate/random_seed b/tests/ref/fate/random_seed
> > index 2b5b3af..ef0eef2 100644
> > --- a/tests/ref/fate/random_seed
> > +++ b/tests/ref/fate/random_seed
> > @@ -1 +1,2 @@
> > seeds OK
> > +seeds OK
>
> This is making the test run for an absurd amount of time, to the point
> FATE clients are killing the process because it was just not stopping.
this is more a problem of get_generic_seed() and less the test.
should be fixed
>
> Before this it would take a few milliseconds.
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Those who are too smart to engage in politics are punished by being
governed by those who are dumber. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20161224/87572b7a/attachment.sig>
More information about the ffmpeg-devel
mailing list