[FFmpeg-devel] [PATCH 01/42] tests/fate-run: Ensure that THREADS=random is actually random

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Mon Sep 25 23:01:06 EEST 2023


Andreas Rheinhardt:
> From the documentation of GNU awk [1]:
> "In most awk implementations, including gawk, rand() starts generating
> numbers from the same starting number, or seed, each time you run awk.45
> Thus, a program generates the same results each time you run it. The
> numbers are random within one awk run but predictable from run to run.
> This is convenient for debugging, but if you want a program to do
> different things each time it is used, you must change the seed to a
> value that is different in each run. To do this, use srand()."
> 
> This commit does exactly this.
> 
> [1]: https://www.gnu.org/software/gawk/manual/html_node/Numeric-Functions.html#index-rand_0028_0029-function
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
>  tests/fate-run.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/fate-run.sh b/tests/fate-run.sh
> index 743d9b3620..8efb1586b8 100755
> --- a/tests/fate-run.sh
> +++ b/tests/fate-run.sh
> @@ -37,7 +37,7 @@ case $threads in
>      random*)
>          threads_max=${threads#random}
>          [ -z "$threads_max" ] && threads_max=16
> -        threads=$(awk "BEGIN { print 1+int(rand() * $threads_max) }" < /dev/null)
> +        threads=$(awk "BEGIN { srand(); print 1+int(rand() * $threads_max) }" < /dev/null)
>          ;;
>  esac
>  

Will apply.

- Andreas



More information about the ffmpeg-devel mailing list