summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2019-02-01 15:47:59 +0100
committerStefan Behnel <stefan_ml@behnel.de>2019-02-01 15:47:59 +0100
commit272efcf67762e00fd6539ead1ff6e04319266f7e (patch)
tree9c6a7f08a42067ea8b95522458726185deb55bd8
parentc292d6cb15d1d706772831fb0c5a3b007709827d (diff)
downloadcython-272efcf67762e00fd6539ead1ff6e04319266f7e.tar.gz
Fix exception messages for float division by zero, as well as their tests (which were wrong in Py2.6).0.29.4
-rw-r--r--Cython/Utility/Optimize.c2
-rw-r--r--tests/run/float_division.pyx42
-rw-r--r--tests/run/modop.pyx4
3 files changed, 24 insertions, 24 deletions
diff --git a/Cython/Utility/Optimize.c b/Cython/Utility/Optimize.c
index 8030befb9..04b3ec75a 100644
--- a/Cython/Utility/Optimize.c
+++ b/Cython/Utility/Optimize.c
@@ -1086,7 +1086,7 @@ c_op = {
{{if order == 'CObj' and c_op in '%/'}}
#define {{zerodiv_check('operand')}} if (unlikely(zerodivision_check && ((operand) == 0))) { \
- PyErr_SetString(PyExc_ZeroDivisionError, "integer division{{if op == 'Remainder'}} or modulo{{endif}} by zero"); \
+ PyErr_SetString(PyExc_ZeroDivisionError, "float division{{if op == 'Remainder'}} or modulo{{endif}} by zero"); \
return NULL; \
}
{{endif}}
diff --git a/tests/run/float_division.pyx b/tests/run/float_division.pyx
index 2c2630f10..69a8f1c3e 100644
--- a/tests/run/float_division.pyx
+++ b/tests/run/float_division.pyx
@@ -30,31 +30,31 @@ def div_by_0(x):
"""
>>> div_by_0(0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> div_by_0(0.0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> div_by_0(1) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> div_by_0(1.0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> float('inf') / 0.0 # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> div_by_0(float('inf')) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> div_by_0(float('-inf')) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> float('nan') / 0.0 # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> div_by_0(float('nan')) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
"""
return x / 0.0
@@ -77,10 +77,10 @@ def div_1_by(x):
nan
>>> div_1_by(0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> div_1_by(0.0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
"""
return 1.0 / x
@@ -157,10 +157,10 @@ def div_neg_2_by(x):
nan
>>> div_neg_2_by(0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> div_neg_2_by(0.0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
"""
return (-2.0) / x
@@ -195,10 +195,10 @@ def div_nan_by(x):
nan
>>> div_nan_by(0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> div_nan_by(0.0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
"""
return float("nan") / x
@@ -235,13 +235,13 @@ def div_inf_by(x):
nan
>>> float("inf") / 0.0 # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> div_inf_by(0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> div_inf_by(0.0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
"""
return float("inf") / x
@@ -258,12 +258,12 @@ def div_neg_inf_by(x):
inf
>>> float("-inf") / 0.0 # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> div_neg_inf_by(0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
>>> div_neg_inf_by(0.0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division by zero
+ ZeroDivisionError: float division...
"""
return float("-inf") / x
diff --git a/tests/run/modop.pyx b/tests/run/modop.pyx
index 1402cbb54..c7b4c7d57 100644
--- a/tests/run/modop.pyx
+++ b/tests/run/modop.pyx
@@ -9,7 +9,7 @@ def modobj(obj2, obj3):
'5'
>>> modobj(1, 0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division...by zero
+ ZeroDivisionError: integer division...
"""
obj1 = obj2 % obj3
return obj1
@@ -19,7 +19,7 @@ def mod_10_obj(int2):
"""
>>> mod_10_obj(0) # doctest: +ELLIPSIS
Traceback (most recent call last):
- ZeroDivisionError: ...division...by zero
+ ZeroDivisionError: integer division...
>>> mod_10_obj(3)
1
"""