mirror of
https://github.com/python/cpython.git
synced 2025-09-20 23:50:22 +00:00

* Split test_pycfunction.py: add test_cfunction_full.py. Split the function into the following 6 functions. In verbose mode, these "pycfunction" tests now log each tested call. * test_pycfunction_noargs() * test_pycfunction_o() * test_pycfunction_varargs() * test_pycfunction_varargs_keywords() * test_pycfunction_fastcall() * test_pycfunction_fastcall_keywords() * Move get_gdb_repr() to PrettyPrintTests. * Replace DebuggerTests.get_sample_script() with SAMPLE_SCRIPT. * Rename checkout_hook_path to CHECKOUT_HOOK_PATH. * Rename gdb_version to GDB_VERSION_TEXT. * Replace (gdb_major_version, gdb_minor_version) with GDB_VERSION. * run_gdb() uses "backslashreplace" error handler instead of "replace". * Add check_gdb() function to util.py. * Enhance support.check_cflags_pgo(): check also for sysconfig PGO_PROF_USE_FLAG (if available) in compiler flags. * Move some SkipTest checks to test_gdb/__init__.py. * Elaborate why gdb cannot be tested on Windows: gdb doesn't support PDB debug symbol files.
30 lines
935 B
Python
30 lines
935 B
Python
# Verify that gdb can pretty-print the various PyObject* types
|
|
#
|
|
# The code for testing gdb was adapted from similar work in Unladen Swallow's
|
|
# Lib/test/test_jit_gdb.py
|
|
|
|
import os
|
|
import sysconfig
|
|
import unittest
|
|
from test import support
|
|
|
|
|
|
MS_WINDOWS = (os.name == 'nt')
|
|
if MS_WINDOWS:
|
|
# On Windows, Python is usually built by MSVC. Passing /p:DebugSymbols=true
|
|
# option to MSBuild produces PDB debug symbols, but gdb doesn't support PDB
|
|
# debug symbol files.
|
|
raise unittest.SkipTest("test_gdb doesn't work on Windows")
|
|
|
|
if support.PGO:
|
|
raise unittest.SkipTest("test_gdb is not useful for PGO")
|
|
|
|
if not sysconfig.is_python_build():
|
|
raise unittest.SkipTest("test_gdb only works on source builds at the moment.")
|
|
|
|
if support.check_cflags_pgo():
|
|
raise unittest.SkipTest("test_gdb is not reliable on PGO builds")
|
|
|
|
|
|
def load_tests(*args):
|
|
return support.load_package_tests(os.path.dirname(__file__), *args)
|