]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-109276: Complete test.pythoninfo (#109312)
authorVictor Stinner <vstinner@python.org>
Tue, 12 Sep 2023 02:50:05 +0000 (04:50 +0200)
committerGitHub <noreply@github.com>
Tue, 12 Sep 2023 02:50:05 +0000 (02:50 +0000)
* Enable collect_sysconfig() on Windows.
* Add sysconfig 'abs_builddir' and 'srcdir'
* Add sysconfig.is_python_build()
* Add tempfile.gettempdir()
* Remove compatiblity with Python 2.7 (print_function).

Lib/test/pythoninfo.py

index b25def78e42be45664e75988d5dc976bddb5009d..e52fa6bdf05f710a33decaf9a53cc9b2bbe6c828 100644 (file)
@@ -1,18 +1,13 @@
 """
 Collect various information about Python to help debugging test failures.
 """
-from __future__ import print_function
 import errno
 import re
 import sys
 import traceback
-import unittest
 import warnings
 
 
-MS_WINDOWS = (sys.platform == 'win32')
-
-
 def normalize_text(text):
     if text is None:
         return None
@@ -493,13 +488,10 @@ def collect_datetime(info_add):
 
 
 def collect_sysconfig(info_add):
-    # On Windows, sysconfig is not reliable to get macros used
-    # to build Python
-    if MS_WINDOWS:
-        return
-
     import sysconfig
 
+    info_add('sysconfig.is_python_build', sysconfig.is_python_build())
+
     for name in (
         'ABIFLAGS',
         'ANDROID_API_LEVEL',
@@ -523,7 +515,9 @@ def collect_sysconfig(info_add):
         'Py_NOGIL',
         'SHELL',
         'SOABI',
+        'abs_builddir',
         'prefix',
+        'srcdir',
     ):
         value = sysconfig.get_config_var(name)
         if name == 'ANDROID_API_LEVEL' and not value:
@@ -711,6 +705,7 @@ def collect_resource(info_add):
 
 
 def collect_test_socket(info_add):
+    import unittest
     try:
         from test import test_socket
     except (ImportError, unittest.SkipTest):
@@ -896,6 +891,11 @@ def collect_fips(info_add):
         pass
 
 
+def collect_tempfile(info_add):
+    import tempfile
+
+    info_add('tempfile.gettempdir', tempfile.gettempdir())
+
 def collect_info(info):
     error = False
     info_add = info.add
@@ -930,6 +930,7 @@ def collect_info(info):
         collect_sysconfig,
         collect_testcapi,
         collect_testinternalcapi,
+        collect_tempfile,
         collect_time,
         collect_tkinter,
         collect_windows,