summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2018-06-01 10:09:59 (GMT)
committerGitHub <noreply@github.com>2018-06-01 10:09:59 (GMT)
commitb9afe645c4926b1f086f30ba9bd00671b0b8b55e (patch)
treeede41c249caa82fc42803ca36ceb8f65c3ef8242
parent500a419a7a68c32650717b213f0f5ab0461bb16b (diff)
downloadcpython-b9afe645c4926b1f086f30ba9bd00671b0b8b55e.zip
cpython-b9afe645c4926b1f086f30ba9bd00671b0b8b55e.tar.gz
cpython-b9afe645c4926b1f086f30ba9bd00671b0b8b55e.tar.bz2
bpo-33692: Update pythoninfo from master (GH-7301)
* bpo-33717: pythoninfo: add CC --version (GH-7290)
-rw-r--r--Lib/test/pythoninfo.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py
index 26f493e..9242a36 100644
--- a/Lib/test/pythoninfo.py
+++ b/Lib/test/pythoninfo.py
@@ -497,6 +497,34 @@ def collect_test_support(info_add):
call_func(info_add, 'test_support.python_is_optimized', support, 'python_is_optimized')
+def collect_cc(info_add):
+ import subprocess
+ import sysconfig
+
+ CC = sysconfig.get_config_var('CC')
+ if not CC:
+ return
+
+ try:
+ import shlex
+ args = shlex.split(CC)
+ except ImportError:
+ args = CC.split()
+ args.append('--version')
+ proc = subprocess.Popen(args,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ universal_newlines=True)
+ stdout = proc.communicate()[0]
+ if proc.returncode:
+ # CC --version failed: ignore error
+ return
+
+ text = stdout.splitlines()[0]
+ text = normalize_text(text)
+ info_add('CC.version', text)
+
+
def collect_info(info):
error = False
info_add = info.add
@@ -523,6 +551,7 @@ def collect_info(info):
collect_decimal,
collect_testcapi,
collect_resource,
+ collect_cc,
# Collecting from tests should be last as they have side effects.
collect_test_socket,