Disable Limited API tests with Py_TRACE_REFS (GH-95796)

This commit is contained in:
Petr Viktorin 2022-08-09 09:03:11 +02:00 • committed by GitHub
parent 7c8626ab3d
commit eb81c1aea1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 0 deletions

View file

@ -9,6 +9,7 @@ import collections
import itertools
import gc
import contextlib
import sys
class BadStr(str):
@ -759,6 +760,9 @@ class TestPEP590(unittest.TestCase):
self.assertEqual(expected, meth(*args1, **kwargs))
self.assertEqual(expected, wrapped(*args, **kwargs))
@unittest.skipIf(
hasattr(sys, 'getobjects'),
"Limited API is not compatible with Py_TRACE_REFS")
def test_vectorcall_limited(self):
from _testcapi import pyobject_vectorcall
obj = _testcapi.LimitedVectorCallClass()

View file

@ -1,3 +1,16 @@
#include "pyconfig.h" // Py_TRACE_REFS
#ifdef Py_TRACE_REFS
// Py_TRACE_REFS is incompatible with Limited API
#include "parts.h"
int
_PyTestCapi_Init_VectorcallLimited(PyObject *m) {
return 0;
}
#else
#define Py_LIMITED_API 0x030c0000 // 3.12
#include "parts.h"
#include "structmember.h" // PyMemberDef
@ -75,3 +88,5 @@ _PyTestCapi_Init_VectorcallLimited(PyObject *m) {
return 0;
}
#endif // Py_TRACE_REFS