From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 19 Sep 2017 15:34:24 +0000 (-0700) Subject: [3.6] pythoninfo: ignore OSError(ENOSYS) on getrandom() (GH-3655) (#3657) X-Git-Tag: v3.6.4rc1~246 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=72c05e31d6127cf41bdce31bfb83fffe8d85bdd7;p=python [3.6] pythoninfo: ignore OSError(ENOSYS) on getrandom() (GH-3655) (#3657) (cherry picked from commit a92941ff12c1d554f42c05ed24621894a758b40f) --- diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py index 15cce34e82..5447ab8274 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):