diff options
author | Benjamin Peterson <benjamin@python.org> | 2015-03-06 14:09:46 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2015-03-06 14:09:46 (GMT) |
commit | abda8ddd3e4927bda1b58cf60a5d09db186f6ca5 (patch) | |
tree | 9352ccd0a0602c38f74c67425a0e1896da766d75 | |
parent | 49f373bf664518bb67c11ea600306a820fd5a6e8 (diff) | |
parent | a915723dc780f2c6753487795988fe3b75e140a9 (diff) | |
download | cpython-abda8ddd3e4927bda1b58cf60a5d09db186f6ca5.zip cpython-abda8ddd3e4927bda1b58cf60a5d09db186f6ca5.tar.gz cpython-abda8ddd3e4927bda1b58cf60a5d09db186f6ca5.tar.bz2 |
merge 3.4 (#23590)
-rw-r--r-- | Lib/test/test_float.py | 6 | ||||
-rw-r--r-- | Objects/floatobject.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/Lib/test/test_float.py b/Lib/test/test_float.py index e1e1f04..bd2d6c3 100644 --- a/Lib/test/test_float.py +++ b/Lib/test/test_float.py @@ -6,6 +6,7 @@ from test import support import math from math import isinf, isnan, copysign, ldexp import operator +import time import random, fractions INF = float("inf") @@ -129,6 +130,11 @@ class GeneralFloatCases(unittest.TestCase): self.assertRaises(TypeError, float, Foo4(42)) self.assertAlmostEqual(float(FooStr('8')), 9.) + class Foo5: + def __float__(self): + return "" + self.assertRaises(TypeError, time.sleep, Foo5()) + def test_is_integer(self): self.assertFalse((1.1).is_integer()) self.assertTrue((1.).is_integer()) diff --git a/Objects/floatobject.c b/Objects/floatobject.c index 8d85121..1d369f9 100644 --- a/Objects/floatobject.c +++ b/Objects/floatobject.c @@ -220,6 +220,7 @@ PyFloat_AsDouble(PyObject *op) if (fo == NULL) return -1; if (!PyFloat_Check(fo)) { + Py_DECREF(fo); PyErr_SetString(PyExc_TypeError, "nb_float should return float object"); return -1; |