]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Backport test.support.fcmp() from 3.0 to silence -3 warnings.
authorBrett Cannon <bcannon@gmail.com>
Thu, 31 Jul 2008 03:00:53 +0000 (03:00 +0000)
committerBrett Cannon <bcannon@gmail.com>
Thu, 31 Jul 2008 03:00:53 +0000 (03:00 +0000)
Lib/test/test_support.py

index 145c154e416c4bf0a3403543e0d341f5934176fa..1aa21d3cce0bc5590f42883cd3497017ec19abf2 100644 (file)
@@ -224,21 +224,20 @@ def bind_port(sock, host=HOST):
 FUZZ = 1e-6
 
 def fcmp(x, y): # fuzzy comparison function
-    if type(x) == type(0.0) or type(y) == type(0.0):
+    if isinstance(x, float) or isinstance(y, float):
         try:
-            x, y = coerce(x, y)
             fuzz = (abs(x) + abs(y)) * FUZZ
             if abs(x-y) <= fuzz:
                 return 0
         except:
             pass
-    elif type(x) == type(y) and type(x) in (type(()), type([])):
+    elif type(x) == type(y) and isinstance(x, (tuple, list)):
         for i in range(min(len(x), len(y))):
             outcome = fcmp(x[i], y[i])
             if outcome != 0:
                 return outcome
-        return cmp(len(x), len(y))
-    return cmp(x, y)
+        return (len(x) > len(y)) - (len(x) < len(y))
+    return (x > y) - (x < y)
 
 try:
     unicode