summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-09-19 14:37:24 (GMT)
committerGitHub <noreply@github.com>2017-09-19 14:37:24 (GMT)
commita92941ff12c1d554f42c05ed24621894a758b40f (patch)
tree1e8e2c464e81536697dad297000d6b169d974f3d /Lib
parent865e4b4f630e2ae91e61239258abb58b488f1d65 (diff)
downloadcpython-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.py17
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):