[Python-checkins] cpython (merge 3.4 -> default): merge 3.4 (#23590)

benjamin.peterson python-checkins at python.org
Fri Mar 6 15:10:50 CET 2015


https://hg.python.org/cpython/rev/4d9594018edd
changeset:   94882:4d9594018edd
parent:      94879:648b35f22b91
parent:      94880:30925a3b2324
user:        Benjamin Peterson <benjamin at python.org>
date:        Fri Mar 06 09:09:46 2015 -0500
summary:
  merge 3.4 (#23590)

files:
  Lib/test/test_float.py |  6 ++++++
  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
--- a/Lib/test/test_float.py
+++ b/Lib/test/test_float.py
@@ -6,6 +6,7 @@
 import math
 from math import isinf, isnan, copysign, ldexp
 import operator
+import time
 import random, fractions
 
 INF = float("inf")
@@ -129,6 +130,11 @@
         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
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -220,6 +220,7 @@
     if (fo == NULL)
         return -1;
     if (!PyFloat_Check(fo)) {
+        Py_DECREF(fo);
         PyErr_SetString(PyExc_TypeError,
                         "nb_float should return float object");
         return -1;

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list