diff --git a/tests/unit/scripting.tcl b/tests/unit/scripting.tcl index 009c1347d380740144977a4f00afca31f29bfe0e..ed58bca44a13d72aee8c10bd4535a489ce42baed 100644 --- a/tests/unit/scripting.tcl +++ b/tests/unit/scripting.tcl @@ -251,6 +251,26 @@ start_server {tags {"scripting"}} { lappend res [r eval $decr_if_gt 1 foo 2] set res } {4 3 2 2 2} + + test {Scripting engine resets PRNG at every script execution} { + set rand1 [r eval {return tostring(math.random())} 0] + set rand2 [r eval {return tostring(math.random())} 0] + assert_equal $rand1 $rand2 + } + + test {Scripting engine PRNG can be seeded correctly} { + set rand1 [r eval { + math.randomseed(ARGV[1]); return tostring(math.random()) + } 0 10] + set rand2 [r eval { + math.randomseed(ARGV[1]); return tostring(math.random()) + } 0 10] + set rand3 [r eval { + math.randomseed(ARGV[1]); return tostring(math.random()) + } 0 20] + assert_equal $rand1 $rand2 + assert {$rand2 ne $rand3} + } } start_server {tags {"scripting repl"}} {