From 0c356c865a6d3806724f54d6d463b2e5289f6afa Mon Sep 17 00:00:00 2001 From: Sergey B Kirpichev Date: Thu, 17 Apr 2025 10:55:00 +0300 Subject: [PATCH] gh-101410: Revert loghelper() change in 75f59bb for integer input (GH-132625) --- Lib/test/test_math.py | 2 +- Modules/mathmodule.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_math.py b/Lib/test/test_math.py index bfc55e7bbaba..6ff7c40d8135 100644 --- a/Lib/test/test_math.py +++ b/Lib/test/test_math.py @@ -2536,7 +2536,7 @@ class MathTests(unittest.TestCase): math.log(x) x = -123 with self.assertRaisesRegex(ValueError, - f"expected a positive input, got {x}"): + "expected a positive input$"): math.log(x) with self.assertRaisesRegex(ValueError, f"expected a float or nonnegative integer, got {x}"): diff --git a/Modules/mathmodule.c b/Modules/mathmodule.c index 20d3c3192ba2..bc259c91d947 100644 --- a/Modules/mathmodule.c +++ b/Modules/mathmodule.c @@ -2213,8 +2213,10 @@ loghelper(PyObject* arg, double (*func)(double)) /* Negative or zero inputs give a ValueError. */ if (!_PyLong_IsPositive((PyLongObject *)arg)) { - PyErr_Format(PyExc_ValueError, - "expected a positive input, got %S", arg); + /* The input can be an arbitrary large integer, so we + don't include it's value in the error message. */ + PyErr_SetString(PyExc_ValueError, + "expected a positive input"); return NULL; } -- 2.47.3