@@ -392,6 +392,8 @@ def test_getrandbits(self):
392
392
self .assertRaises (TypeError , self .gen .getrandbits )
393
393
self .assertRaises (TypeError , self .gen .getrandbits , 1 , 2 )
394
394
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 )
395
397
self .assertRaises (TypeError , self .gen .getrandbits , 10.1 )
396
398
397
399
def test_pickling (self ):
@@ -435,6 +437,8 @@ def test_randbytes(self):
435
437
self .assertRaises (TypeError , self .gen .randbytes )
436
438
self .assertRaises (TypeError , self .gen .randbytes , 1 , 2 )
437
439
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 )
438
442
self .assertRaises (TypeError , self .gen .randbytes , 1.0 )
439
443
440
444
def test_mu_sigma_default_args (self ):
@@ -976,6 +980,13 @@ def test_randbytes_getrandbits(self):
976
980
self .assertEqual (self .gen .randbytes (n ),
977
981
gen2 .getrandbits (n * 8 ).to_bytes (n , 'little' ))
978
982
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
+
979
990
def test_sample_counts_equivalence (self ):
980
991
# Test the documented strong equivalence to a sample with repeated elements.
981
992
# We run this test on random.Random() which makes deterministic selections
0 commit comments