On 12/22/2016 9:12 PM, Thomas Turner wrote:
> Signed-off-by: Thomas Turner <thomas...@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.

Before this it would take a few milliseconds.

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to