https://github.com/python/cpython/commit/7de8ea7be6c19f21c090f44a01817fab26c1f095
commit: 7de8ea7be6c19f21c090f44a01817fab26c1f095
branch: main
author: William S Fulton <w...@fultondesigns.co.uk>
committer: encukou <encu...@gmail.com>
date: 2025-07-11T15:18:35+02:00
summary:

gh-136300: Modify C tests to conform to PEP-737 (GH-136301)

- Use %T format specifier instead of %s and Py_TYPE(x)->tp_name.
- Remove legacy %.200s format specifier for truncating type names.

Co-authored-by: Victor Stinner <vstin...@python.org>

files:
M Modules/_testbuffer.c
M Modules/_testcapi/monitoring.c
M Modules/_testcapi/time.c
M Modules/_testcapimodule.c
M Modules/_testinternalcapi.c

diff --git a/Modules/_testbuffer.c b/Modules/_testbuffer.c
index 7fc4d61db29469..d2e61e9d6acf24 100644
--- a/Modules/_testbuffer.c
+++ b/Modules/_testbuffer.c
@@ -1855,8 +1855,7 @@ ndarray_subscript(PyObject *op, PyObject *key)
 
 type_error:
     PyErr_Format(PyExc_TypeError,
-        "cannot index memory using \"%.200s\"",
-        Py_TYPE(key)->tp_name);
+        "cannot index memory using \"%T\"", key);
 err_occurred:
     Py_DECREF(nd);
     return NULL;
diff --git a/Modules/_testcapi/monitoring.c b/Modules/_testcapi/monitoring.c
index 08a2055c51bc0d..e041943492d61f 100644
--- a/Modules/_testcapi/monitoring.c
+++ b/Modules/_testcapi/monitoring.c
@@ -109,7 +109,7 @@ static PyTypeObject PyCodeLike_Type = {
 };
 
 #define RAISE_UNLESS_CODELIKE(v)  if (!Py_IS_TYPE((v), &PyCodeLike_Type)) { \
-        PyErr_Format(PyExc_TypeError, "expected a code-like, got %s", 
Py_TYPE(v)->tp_name); \
+        PyErr_Format(PyExc_TypeError, "expected a code-like, got %T", v); \
         return NULL; \
     }
 
diff --git a/Modules/_testcapi/time.c b/Modules/_testcapi/time.c
index 464cf5c3125012..4ca6ff587b95cc 100644
--- a/Modules/_testcapi/time.c
+++ b/Modules/_testcapi/time.c
@@ -5,8 +5,7 @@ static int
 pytime_from_nanoseconds(PyTime_t *tp, PyObject *obj)
 {
     if (!PyLong_Check(obj)) {
-        PyErr_Format(PyExc_TypeError, "expect int, got %s",
-                     Py_TYPE(obj)->tp_name);
+        PyErr_Format(PyExc_TypeError, "expect int, got %T", obj);
         return -1;
     }
 
diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c
index 71fffedee146fa..334f2a53041ca4 100644
--- a/Modules/_testcapimodule.c
+++ b/Modules/_testcapimodule.c
@@ -515,8 +515,7 @@ test_thread_state(PyObject *self, PyObject *args)
         return NULL;
 
     if (!PyCallable_Check(fn)) {
-        PyErr_Format(PyExc_TypeError, "'%s' object is not callable",
-            Py_TYPE(fn)->tp_name);
+        PyErr_Format(PyExc_TypeError, "'%T' object is not callable", fn);
         return NULL;
     }
 
diff --git a/Modules/_testinternalcapi.c b/Modules/_testinternalcapi.c
index 8027f0015c7409..533e7dd3a7ec00 100644
--- a/Modules/_testinternalcapi.c
+++ b/Modules/_testinternalcapi.c
@@ -2207,8 +2207,7 @@ get_code(PyObject *obj)
         return (PyCodeObject *)PyFunction_GetCode(obj);
     }
     return (PyCodeObject *)PyErr_Format(
-        PyExc_TypeError, "expected function or code object, got %s",
-        Py_TYPE(obj)->tp_name);
+        PyExc_TypeError, "expected function or code object, got %T", obj);
 }
 
 static PyObject *

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: arch...@mail-archive.com

Reply via email to