[Python-checkins] bpo-35952: Sync test.pythoninfo from master (GH-13010)

Victor Stinner webhook-mailer at python.org
Mon Apr 29 09:20:41 EDT 2019


https://github.com/python/cpython/commit/be6cbfb7670c852ef8abf52b63989442b6942dbb
commit: be6cbfb7670c852ef8abf52b63989442b6942dbb
branch: 2.7
author: Victor Stinner <vstinner at redhat.com>
committer: GitHub <noreply at github.com>
date: 2019年04月29日T15:20:38+02:00
summary:
bpo-35952: Sync test.pythoninfo from master (GH-13010)
files:
M Lib/test/pythoninfo.py
diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py
index ae1c07b43ac3..a6983ba021c6 100644
--- a/Lib/test/pythoninfo.py
+++ b/Lib/test/pythoninfo.py
@@ -6,6 +6,7 @@
 import re
 import sys
 import traceback
+import warnings
 
 
 def normalize_text(text):
@@ -142,7 +143,11 @@ def collect_platform(info_add):
 info_add('platform.python_implementation',
 platform.python_implementation())
 info_add('platform.platform',
- platform.platform(aliased=True, terse=True))
+ platform.platform(aliased=True))
+
+ libc_ver = ('%s %s' % platform.libc_ver()).strip()
+ if libc_ver:
+ info_add('platform.libc_ver', libc_ver)
 
 
 def collect_locale(info_add):
@@ -376,9 +381,17 @@ def collect_time(info_add):
 copy_attributes(info_add, time, 'time.%s', attributes)
 
 if hasattr(time, 'get_clock_info'):
- for clock in ('time', 'perf_counter'):
- tinfo = time.get_clock_info(clock)
- info_add('time.get_clock_info(%s)' % clock, tinfo)
+ for clock in ('clock', 'monotonic', 'perf_counter',
+ 'process_time', 'thread_time', 'time'):
+ try:
+ # prevent DeprecatingWarning on get_clock_info('clock')
+ with warnings.catch_warnings(record=True):
+ clock_info = time.get_clock_info(clock)
+ except ValueError:
+ # missing clock like time.thread_time()
+ pass
+ else:
+ info_add('time.get_clock_info(%s)' % clock, clock_info)
 
 
 def collect_datetime(info_add):
@@ -407,7 +420,10 @@ def collect_sysconfig(info_add):
 'OPT',
 'PY_CFLAGS',
 'PY_CFLAGS_NODIST',
+ 'PY_CORE_LDFLAGS',
 'PY_LDFLAGS',
+ 'PY_LDFLAGS_NODIST',
+ 'PY_STDMODULE_CFLAGS',
 'Py_DEBUG',
 'Py_ENABLE_SHARED',
 'SHELL',
@@ -513,6 +529,8 @@ def collect_resource(info_add):
 value = resource.getrlimit(key)
 info_add('resource.%s' % name, value)
 
+ call_func(info_add, 'resource.pagesize', resource, 'getpagesize')
+
 
 def collect_test_socket(info_add):
 try:
@@ -553,10 +571,17 @@ def collect_cc(info_add):
 except ImportError:
 args = CC.split()
 args.append('--version')
- proc = subprocess.Popen(args,
- stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT,
- universal_newlines=True)
+ try:
+ proc = subprocess.Popen(args,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ universal_newlines=True)
+ except OSError:
+ # Cannot run the compiler, for example when Python has been
+ # cross-compiled and installed on the target platform where the
+ # compiler is missing.
+ return
+
 stdout = proc.communicate()[0]
 if proc.returncode:
 # CC --version failed: ignore error
@@ -567,6 +592,35 @@ def collect_cc(info_add):
 info_add('CC.version', text)
 
 
+def collect_gdbm(info_add):
+ try:
+ from _gdbm import _GDBM_VERSION
+ except ImportError:
+ return
+
+ info_add('gdbm.GDBM_VERSION', '.'.join(map(str, _GDBM_VERSION)))
+
+
+def collect_get_config(info_add):
+ # Dump global configuration variables, _PyCoreConfig
+ # and _PyMainInterpreterConfig
+ try:
+ from _testinternalcapi import get_configs
+ except ImportError:
+ return
+
+ all_configs = get_configs()
+ for config_type in sorted(all_configs):
+ config = all_configs[config_type]
+ for key in sorted(config):
+ info_add('%s[%s]' % (config_type, key), repr(config[key]))
+
+
+def collect_subprocess(info_add):
+ import subprocess
+ copy_attributes(info_add, subprocess, 'subprocess.%s', ('_USE_POSIX_SPAWN',))
+
+
 def collect_info(info):
 error = False
 info_add = info.add
@@ -594,6 +648,9 @@ def collect_info(info):
 collect_testcapi,
 collect_resource,
 collect_cc,
+ collect_gdbm,
+ collect_get_config,
+ collect_subprocess,
 
 # Collecting from tests should be last as they have side effects.
 collect_test_socket,


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /