[Python-checkins] [3.6] pythoninfo: ignore OSError(ENOSYS) on getrandom() (GH-3655) (#3657)
Victor Stinner
webhook-mailer at python.org
Tue Sep 19 11:34:30 EDT 2017
https://github.com/python/cpython/commit/72c05e31d6127cf41bdce31bfb83fffe8d85bdd7
commit: 72c05e31d6127cf41bdce31bfb83fffe8d85bdd7
branch: 3.6
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: Victor Stinner <victor.stinner at gmail.com>
date: 2017-09-19T08:34:24-07:00
summary:
[3.6] pythoninfo: ignore OSError(ENOSYS) on getrandom() (GH-3655) (#3657)
(cherry picked from commit a92941ff12c1d554f42c05ed24621894a758b40f)
files:
M Lib/test/pythoninfo.py
diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py
index 15cce34e822..5447ab8274b 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 format_attr(attr, value):
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):
More information about the Python-checkins
mailing list