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

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Tue Sep 19 22:56:53 EEST 2023


>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
 
-- 
2.34.1



More information about the ffmpeg-devel mailing list