[FFmpeg-cvslog] tests/fate-run: Ensure that THREADS=random is actually random

Andreas Rheinhardt git at videolan.org
Mon Sep 25 23:17:43 EEST 2023


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Tue Sep 19 15:28:49 2023 +0200| [8d5db120c2572ef81b771b588a81da65cf4b2416] | committer: Andreas Rheinhardt

tests/fate-run: Ensure that THREADS=random is actually random

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

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8d5db120c2572ef81b771b588a81da65cf4b2416
---

 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
 



More information about the ffmpeg-cvslog mailing list