mirror of
https://github.com/python/cpython.git
synced 2025-07-23 03:05:38 +00:00
bpo-35059: Add Py_STATIC_INLINE() macro (GH-10093)
* Add Py_STATIC_INLINE() macro to declare a "static inline" function. If the compiler supports it, try to always inline the function even if no optimization level was specified. * Modify pydtrace.h to use Py_STATIC_INLINE() when WITH_DTRACE is not defined. * Add an unit test on Py_DECREF() to make sure that _Py_NegativeRefcount() reports the correct filename.
This commit is contained in:
parent
d03b775781
commit
18618e652c
6 changed files with 92 additions and 36 deletions
|
@ -315,6 +315,23 @@ class CAPITest(unittest.TestCase):
|
|||
self.assertRaises(TypeError, _testcapi.get_mapping_values, bad_mapping)
|
||||
self.assertRaises(TypeError, _testcapi.get_mapping_items, bad_mapping)
|
||||
|
||||
@unittest.skipUnless(hasattr(_testcapi, 'negative_refcount'),
|
||||
'need _testcapi.negative_refcount')
|
||||
def test_negative_refcount(self):
|
||||
# bpo-35059: Check that Py_DECREF() reports the correct filename
|
||||
# when calling _Py_NegativeRefcount() to abort Python.
|
||||
code = textwrap.dedent("""
|
||||
import _testcapi
|
||||
from test import support
|
||||
|
||||
with support.SuppressCrashReport():
|
||||
_testcapi.negative_refcount()
|
||||
""")
|
||||
rc, out, err = assert_python_failure('-c', code)
|
||||
self.assertRegex(err,
|
||||
br'_testcapimodule\.c:[0-9]+ object at .* '
|
||||
br'has negative ref count', err)
|
||||
|
||||
|
||||
class TestPendingCalls(unittest.TestCase):
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue