[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