Skip to content

Commit a9d1708

Browse files
committed
Move the tests to a function
1 parent e3ea0ba commit a9d1708

File tree

1 file changed

+35
-28
lines changed

1 file changed

+35
-28
lines changed

Modules/_testcapimodule.c

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2607,6 +2607,40 @@ create_managed_weakref_nogc_type(PyObject *self, PyObject *Py_UNUSED(args))
26072607
}
26082608

26092609

2610+
static PyObject*
2611+
test_soft_deprecated_macros(PyObject *Py_UNUSED(self), PyObject *Py_UNUSED(args)) {
2612+
// Test soft-deprecated macros
2613+
Py_ALIGNED(64) char buf[4];
2614+
#ifdef __GNUC__
2615+
// Py_ALIGNED must compile everywhere, but only does something
2616+
// on "supported" compilers, i.e. GCC
2617+
Py_BUILD_ASSERT(__extension__ __alignof__(buf) >= 64);
2618+
#endif
2619+
assert(strcmp(PY_FORMAT_SIZE_T, "z") == 0);
2620+
Py_BUILD_ASSERT(Py_LL(123) == 123LL);
2621+
Py_BUILD_ASSERT(sizeof(Py_LL(123)) == sizeof(long long));
2622+
Py_BUILD_ASSERT(sizeof(Py_ULL(123)) == sizeof(unsigned long long));
2623+
Py_BUILD_ASSERT(sizeof(PY_LONG_LONG) == sizeof(long long));
2624+
Py_BUILD_ASSERT(sizeof(PY_INT32_T) == sizeof(int32_t));
2625+
Py_BUILD_ASSERT(sizeof(PY_UINT32_T) == sizeof(uint32_t));
2626+
Py_BUILD_ASSERT(sizeof(PY_INT64_T) == sizeof(int64_t));
2627+
Py_BUILD_ASSERT(sizeof(PY_UINT64_T) == sizeof(uint64_t));
2628+
Py_BUILD_ASSERT(PY_LLONG_MIN == LLONG_MIN);
2629+
Py_BUILD_ASSERT(PY_LLONG_MAX == LLONG_MAX);
2630+
Py_BUILD_ASSERT(PY_ULLONG_MAX == ULLONG_MAX);
2631+
Py_BUILD_ASSERT(PY_SIZE_MAX == SIZE_MAX);
2632+
Py_BUILD_ASSERT(PY_LLONG_MIN == LLONG_MIN);
2633+
Py_MEMCPY(buf, "abc", 4);
2634+
assert(strcmp(buf, "abc") == 0);
2635+
Py_BUILD_ASSERT(Py_UNICODE_SIZE == sizeof(wchar_t));
2636+
#ifdef Py_UNICODE_WIDE
2637+
Py_BUILD_ASSERT(sizeof(wchar_t) >= 4);
2638+
#else
2639+
Py_BUILD_ASSERT(sizeof(wchar_t) < 4);
2640+
#endif
2641+
Py_RETURN_NONE;
2642+
}
2643+
26102644
static PyMethodDef TestMethods[] = {
26112645
{"set_errno", set_errno, METH_VARARGS},
26122646
{"test_config", test_config, METH_NOARGS},
@@ -2704,6 +2738,7 @@ static PyMethodDef TestMethods[] = {
27042738
{"toggle_reftrace_printer", toggle_reftrace_printer, METH_O},
27052739
{"create_managed_weakref_nogc_type",
27062740
create_managed_weakref_nogc_type, METH_NOARGS},
2741+
{"test_soft_deprecated_macros", test_soft_deprecated_macros, METH_NOARGS},
27072742
{NULL, NULL} /* sentinel */
27082743
};
27092744

@@ -3372,34 +3407,6 @@ _testcapi_exec(PyObject *m)
33723407
PyModule_AddObject(m, "INT64_MAX", PyLong_FromInt64(INT64_MAX));
33733408
PyModule_AddObject(m, "UINT64_MAX", PyLong_FromUInt64(UINT64_MAX));
33743409

3375-
// Test soft-deprecated macros
3376-
Py_ALIGNED(64) char buf[4];
3377-
#if defined(__GNUC__)
3378-
Py_BUILD_ASSERT(__extension__ __alignof__(buf) >= 64);
3379-
#endif
3380-
assert(strcmp(PY_FORMAT_SIZE_T, "z") == 0);
3381-
Py_BUILD_ASSERT(Py_LL(123) == 123LL);
3382-
Py_BUILD_ASSERT(sizeof(Py_LL(123)) == sizeof(long long));
3383-
Py_BUILD_ASSERT(sizeof(Py_ULL(123)) == sizeof(unsigned long long));
3384-
Py_BUILD_ASSERT(sizeof(PY_LONG_LONG) == sizeof(long long));
3385-
Py_BUILD_ASSERT(sizeof(PY_INT32_T) == sizeof(int32_t));
3386-
Py_BUILD_ASSERT(sizeof(PY_UINT32_T) == sizeof(uint32_t));
3387-
Py_BUILD_ASSERT(sizeof(PY_INT64_T) == sizeof(int64_t));
3388-
Py_BUILD_ASSERT(sizeof(PY_UINT64_T) == sizeof(uint64_t));
3389-
Py_BUILD_ASSERT(PY_LLONG_MIN == LLONG_MIN);
3390-
Py_BUILD_ASSERT(PY_LLONG_MAX == LLONG_MAX);
3391-
Py_BUILD_ASSERT(PY_ULLONG_MAX == ULLONG_MAX);
3392-
Py_BUILD_ASSERT(PY_SIZE_MAX == SIZE_MAX);
3393-
Py_BUILD_ASSERT(PY_LLONG_MIN == LLONG_MIN);
3394-
Py_MEMCPY(buf, "abc", 4);
3395-
assert(strcmp(buf, "abc") == 0);
3396-
Py_BUILD_ASSERT(Py_UNICODE_SIZE == sizeof(wchar_t));
3397-
#ifdef Py_UNICODE_WIDE
3398-
Py_BUILD_ASSERT(sizeof(wchar_t) >= 4);
3399-
#else
3400-
Py_BUILD_ASSERT(sizeof(wchar_t) < 4);
3401-
#endif
3402-
34033410
#ifdef HAVE_PPOLL
34043411
if (PyModule_AddObjectRef(m, "HAVE_PPOLL", Py_True) < 0) {
34053412
return -1;

0 commit comments

Comments
 (0)