Commit a92941ff authored by Victor Stinner's avatar Victor Stinner Committed by GitHub

pythoninfo: ignore OSError(ENOSYS) on getrandom() (#3655)

parent 865e4b4f
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
Collect various informations about Python to help debugging test failures. Collect various informations about Python to help debugging test failures.
""" """
from __future__ import print_function from __future__ import print_function
import errno
import re import re
import sys import sys
import traceback import traceback
...@@ -223,11 +224,17 @@ def collect_os(info_add): ...@@ -223,11 +224,17 @@ def collect_os(info_add):
if hasattr(os, 'getrandom'): if hasattr(os, 'getrandom'):
# PEP 524: Check if system urandom is initialized # PEP 524: Check if system urandom is initialized
try: try:
os.getrandom(1, os.GRND_NONBLOCK) try:
state = 'ready (initialized)' os.getrandom(1, os.GRND_NONBLOCK)
except BlockingIOError as exc: state = 'ready (initialized)'
state = 'not seeded yet (%s)' % exc except BlockingIOError as exc:
info_add('os.getrandom', state) state = 'not seeded yet (%s)' % exc
info_add('os.getrandom', state)
except OSError as exc:
# Python was compiled on a more recent Linux version
# than the current Linux kernel: ignore OSError(ENOSYS)
if exc.errno != errno.ENOSYS:
raise
def collect_readline(info_add): def collect_readline(info_add):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment