diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2017-09-19 14:37:24 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-19 14:37:24 (GMT) |
commit | a92941ff12c1d554f42c05ed24621894a758b40f (patch) | |
tree | 1e8e2c464e81536697dad297000d6b169d974f3d /Lib | |
parent | 865e4b4f630e2ae91e61239258abb58b488f1d65 (diff) | |
download | cpython-a92941ff12c1d554f42c05ed24621894a758b40f.zip cpython-a92941ff12c1d554f42c05ed24621894a758b40f.tar.gz cpython-a92941ff12c1d554f42c05ed24621894a758b40f.tar.bz2 |
pythoninfo: ignore OSError(ENOSYS) on getrandom() (#3655)
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/pythoninfo.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py index 15cce34..5447ab8 100644 --- a/Lib/test/pythoninfo.py +++ b/Lib/test/pythoninfo.py @@ -2,6 +2,7 @@ Collect various informations about Python to help debugging test failures. """ from __future__ import print_function +import errno import re import sys import traceback @@ -223,11 +224,17 @@ def collect_os(info_add): if hasattr(os, 'getrandom'): # PEP 524: Check if system urandom is initialized try: - os.getrandom(1, os.GRND_NONBLOCK) - state = 'ready (initialized)' - except BlockingIOError as exc: - state = 'not seeded yet (%s)' % exc - info_add('os.getrandom', state) + try: + os.getrandom(1, os.GRND_NONBLOCK) + state = 'ready (initialized)' + except BlockingIOError as exc: + 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): |