mirror of
https://github.com/micropython/micropython.git
synced 2026-01-05 03:30:14 +01:00
tests/float: Test domain errors for more combos of args to math funcs.
Instead of having a special set of arguments to test for each math-module function, just test all functions with all sets of arguments. This gives improved test cases to prevent regressions. Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
26
tests/float/math_domain_python311.py
Normal file
26
tests/float/math_domain_python311.py
Normal file
@@ -0,0 +1,26 @@
|
||||
# Tests domain errors in math functions.
|
||||
# This is split out from math_domain.py because math.pow(0, -inf) was changed
|
||||
# in Python 3.11, and so this test requires a .py.exp file.
|
||||
# (See https://github.com/python/cpython/issues/88505)
|
||||
|
||||
try:
|
||||
import math
|
||||
except ImportError:
|
||||
print("SKIP")
|
||||
raise SystemExit
|
||||
|
||||
inf = float("inf")
|
||||
|
||||
for name, f in (
|
||||
("pow", math.pow),
|
||||
("log", math.log),
|
||||
("fmod", math.fmod),
|
||||
("atan2", math.atan2),
|
||||
("copysign", math.copysign),
|
||||
):
|
||||
for x in ((0, -inf),):
|
||||
try:
|
||||
ans = "%.4f" % f(*x)
|
||||
except ValueError:
|
||||
ans = "ValueError"
|
||||
print("%s(%.4f, %.4f) = %s" % (name, x[0], x[1], ans))
|
||||
Reference in New Issue
Block a user