Browse Source

avutil/tests: Improved code coverage for random_seed

Signed-off-by: Thomas Turner <thomastdt@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n3.3
Thomas Turner Michael Niedermayer 9 years ago
parent
commit
8dcb28cf6d
2 changed files with 22 additions and 13 deletions
  1. +21
    -13
      libavutil/tests/random_seed.c
  2. +1
    -0
      tests/ref/fate/random_seed

+ 21
- 13
libavutil/tests/random_seed.c View File

@@ -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;
}

+ 1
- 0
tests/ref/fate/random_seed View File

@@ -1 +1,2 @@
seeds OK
seeds OK

Loading…
Cancel
Save