"""
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
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',
'Py_NOGIL',
'SHELL',
'SOABI',
+ 'abs_builddir',
'prefix',
+ 'srcdir',
):
value = sysconfig.get_config_var(name)
if name == 'ANDROID_API_LEVEL' and not value:
def collect_test_socket(info_add):
+ import unittest
try:
from test import test_socket
except (ImportError, unittest.SkipTest):
pass
+def collect_tempfile(info_add):
+ import tempfile
+
+ info_add('tempfile.gettempdir', tempfile.gettempdir())
+
def collect_info(info):
error = False
info_add = info.add
collect_sysconfig,
collect_testcapi,
collect_testinternalcapi,
+ collect_tempfile,
collect_time,
collect_tkinter,
collect_windows,