Skip to content

Commit 4d3badf

Browse files
skirpichevvstinner
andauthored
Apply batched suggestions from code review
Co-authored-by: Victor Stinner <vstinner@python.org>
1 parent ad46155 commit 4d3badf

1 file changed

Lines changed: 22 additions & 21 deletions

File tree

Lib/test/test_capi/test_complex.py

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -281,31 +281,32 @@ def test_py_c_abs(self):
281281
# Test _Py_c_abs()
282282
_py_c_abs = _testcapi._py_c_abs
283283

284-
try:
285-
_testcapi.set_errno(0)
286-
self.assertEqual(_py_c_abs(-1), (1.0, 0))
284+
def c_abs(num):
285+
# On success, _Py_c_abs() doesn't use errno and leaves errno
286+
# unchanged
287287
_testcapi.set_errno(0)
288-
self.assertEqual(_py_c_abs(1j), (1.0, 0))
289-
290-
_testcapi.set_errno(0)
291-
self.assertEqual(_py_c_abs(complex('+inf+1j')), (INF, 0))
292-
_testcapi.set_errno(0)
293-
self.assertEqual(_py_c_abs(complex('-inf+1j')), (INF, 0))
294-
_testcapi.set_errno(0)
295-
self.assertEqual(_py_c_abs(complex('1.25+infj')), (INF, 0))
296-
_testcapi.set_errno(0)
297-
self.assertEqual(_py_c_abs(complex('1.25-infj')), (INF, 0))
298-
299-
_testcapi.set_errno(0)
300-
self.assertTrue(isnan(_py_c_abs(complex('1.25+nanj'))[0]))
301-
_testcapi.set_errno(0)
302-
self.assertTrue(isnan(_py_c_abs(complex('nan-1j'))[0]))
288+
result, errno = _py_c_abs(num)
289+
self.assertEqual(errno, 0)
290+
return result
303291

292+
try:
293+
self.assertEqual(c_abs(-1), 1.0)
294+
self.assertEqual(c_abs(1j), 1.0)
295+
self.assertEqual(c_abs(complex('+inf+1j')), INF)
296+
self.assertEqual(c_abs(complex('-inf+1j')), INF)
297+
self.assertEqual(c_abs(complex('1.25+infj')), INF)
298+
self.assertEqual(c_abs(complex('1.25-infj')), INF)
299+
self.assertTrue(isnan(c_abs(complex('1.25+nanj'))))
300+
self.assertTrue(isnan(c_abs(complex('nan-1j'))))
301+
302+
# Set errno to ERANGE on overflow
304303
_testcapi.set_errno(0)
305-
self.assertEqual(_py_c_abs(complex(*[DBL_MAX]*2))[1], errno.ERANGE)
304+
self.assertEqual(_py_c_abs(complex(*[DBL_MAX]*2)),
305+
(INF, errno.ERANGE))
306306

307-
_testcapi.set_errno(errno.EACCES) # preserve errno
308-
self.assertEqual(_py_c_abs(1j), (1, errno.EACCES))
307+
# Preserve errno on success
308+
_testcapi.set_errno(errno.EACCES)
309+
self.assertEqual(_py_c_abs(1j), (1.0, errno.EACCES))
309310
finally:
310311
_testcapi.set_errno(0)
311312

0 commit comments

Comments
 (0)