@@ -326,6 +326,24 @@ def test_guaranteed_stable(self):
326326 ['0x1.1239ddfb11b7cp-3' , '0x1.b3cbb5c51b120p-4' ,
327327 '0x1.8c4f55116b60fp-1' , '0x1.63eb525174a27p-1' ])
328328
329+ def test_bug_27706 (self ):
330+ # Verify that version 1 seeds are unaffected by hash randomization
331+
332+ self .gen .seed ('nofar' , version = 1 ) # hash('nofar') == 5990528763808513177
333+ self .assertEqual ([self .gen .random ().hex () for i in range (4 )],
334+ ['0x1.8645314505ad7p-1' , '0x1.afb1f82e40a40p-5' ,
335+ '0x1.2a59d2285e971p-1' , '0x1.56977142a7880p-6' ])
336+
337+ self .gen .seed ('rachel' , version = 1 ) # hash('rachel') == -9091735575445484789
338+ self .assertEqual ([self .gen .random ().hex () for i in range (4 )],
339+ ['0x1.0b294cc856fcdp-1' , '0x1.2ad22d79e77b8p-3' ,
340+ '0x1.3052b9c072678p-2' , '0x1.578f332106574p-3' ])
341+
342+ self .gen .seed ('' , version = 1 ) # hash('') == 0
343+ self .assertEqual ([self .gen .random ().hex () for i in range (4 )],
344+ ['0x1.b0580f98a7dbep-1' , '0x1.84129978f9c1ap-1' ,
345+ '0x1.aeaa51052e978p-2' , '0x1.092178fb945a6p-2' ])
346+
329347 def test_setstate_first_arg (self ):
330348 self .assertRaises (ValueError , self .gen .setstate , (1 , None , None ))
331349
0 commit comments