diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2017-09-19 15:34:24 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2017-09-19 15:34:24 (GMT) |
commit | 72c05e31d6127cf41bdce31bfb83fffe8d85bdd7 (patch) | |
tree | 5e805af2daa01ec71549c7b09a50698169a43bd3 /Lib/test/pythoninfo.py | |
parent | f37dd11f0d4832c15d49c2ddc83d533ddaa36e74 (diff) | |
download | cpython-72c05e31d6127cf41bdce31bfb83fffe8d85bdd7.zip cpython-72c05e31d6127cf41bdce31bfb83fffe8d85bdd7.tar.gz cpython-72c05e31d6127cf41bdce31bfb83fffe8d85bdd7.tar.bz2 |
[3.6] pythoninfo: ignore OSError(ENOSYS) on getrandom() (GH-3655) (#3657)
(cherry picked from commit a92941ff12c1d554f42c05ed24621894a758b40f)
Diffstat (limited to 'Lib/test/pythoninfo.py')
-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): |