urandom_basic.py 658 B

1234567891011121314151617181920212223242526272829
  1. try:
  2. import urandom as random
  3. except ImportError:
  4. try:
  5. import random
  6. except ImportError:
  7. print("SKIP")
  8. raise SystemExit
  9. # check getrandbits returns a value within the bit range
  10. for b in (1, 2, 3, 4, 16, 32):
  11. for i in range(50):
  12. assert random.getrandbits(b) < (1 << b)
  13. # check that seed(0) gives a non-zero value
  14. random.seed(0)
  15. print(random.getrandbits(16) != 0)
  16. # check that PRNG is repeatable
  17. random.seed(1)
  18. r = random.getrandbits(16)
  19. random.seed(1)
  20. print(random.getrandbits(16) == r)
  21. # check that it throws an error for zero bits
  22. try:
  23. random.getrandbits(0)
  24. except ValueError:
  25. print('ValueError')