@@ -392,6 +392,8 @@ def test_getrandbits(self):
392392 self .assertRaises (TypeError , self .gen .getrandbits )
393393 self .assertRaises (TypeError , self .gen .getrandbits , 1 , 2 )
394394 self .assertRaises (ValueError , self .gen .getrandbits , - 1 )
395+ self .assertRaises (OverflowError , self .gen .getrandbits , 1 << 1000 )
396+ self .assertRaises (ValueError , self .gen .getrandbits , - 1 << 1000 )
395397 self .assertRaises (TypeError , self .gen .getrandbits , 10.1 )
396398
397399 def test_pickling (self ):
@@ -435,6 +437,8 @@ def test_randbytes(self):
435437 self .assertRaises (TypeError , self .gen .randbytes )
436438 self .assertRaises (TypeError , self .gen .randbytes , 1 , 2 )
437439 self .assertRaises (ValueError , self .gen .randbytes , - 1 )
440+ self .assertRaises (OverflowError , self .gen .randbytes , 1 << 1000 )
441+ self .assertRaises ((ValueError , OverflowError ), self .gen .randbytes , - 1 << 1000 )
438442 self .assertRaises (TypeError , self .gen .randbytes , 1.0 )
439443
440444 def test_mu_sigma_default_args (self ):
@@ -976,6 +980,13 @@ def test_randbytes_getrandbits(self):
976980 self .assertEqual (self .gen .randbytes (n ),
977981 gen2 .getrandbits (n * 8 ).to_bytes (n , 'little' ))
978982
983+ def test_randbytes_256M (self ):
984+ self .gen .seed (2849427419 )
985+ x = self .gen .randbytes (2 ** 29 )
986+ self .assertEqual (len (x ), 2 ** 29 )
987+ self .assertEqual (x [:12 ].hex (), 'f6fd9ae63855ab91ea238b4f' )
988+ self .assertEqual (x [- 12 :].hex (), '0e7af69a84ee99bf4a11becc' )
989+
979990 def test_sample_counts_equivalence (self ):
980991 # Test the documented strong equivalence to a sample with repeated elements.
981992 # We run this test on random.Random() which makes deterministic selections
0 commit comments