diff --git a/Lib/os.py b/Lib/os.py
index 556268f..dc1ef5a 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -18,7 +18,10 @@
 
 try:
 	from posix import *
-	from posix import _exit
+	try:
+		from posix import _exit
+	except ImportError:
+		pass
 	name = 'posix'
 	curdir = '.'
 	pardir = '..'
diff --git a/Lib/test/test_b1.py b/Lib/test/test_b1.py
index b780c72..e5611e5 100644
--- a/Lib/test/test_b1.py
+++ b/Lib/test/test_b1.py
@@ -42,9 +42,9 @@
 if cmp(1, 1) <> 0: raise TestFailed, 'cmp(1, 1)'
 
 print 'coerce'
-if coerce(1, 1.1) <> (1.0, 1.1): raise TestFailed, 'coerce(1, 1.1)'
+if fcmp(coerce(1, 1.1), (1.0, 1.1)): raise TestFailed, 'coerce(1, 1.1)'
 if coerce(1, 1L) <> (1L, 1L): raise TestFailed, 'coerce(1, 1L)'
-if coerce(1L, 1.1) <> (1.0, 1.1): raise TestFailed, 'coerce(1L, 1.1)'
+if fcmp(coerce(1L, 1.1), (1.0, 1.1)): raise TestFailed, 'coerce(1L, 1.1)'
 
 print 'dir'
 x = 1
@@ -68,10 +68,14 @@
 if divmod(12L, -7) <> (-2L, -2): raise TestFailed, 'divmod(12L, -7)'
 if divmod(-12L, -7) <> (1L, -5): raise TestFailed, 'divmod(-12L, -7)'
 #
-if divmod(3.25, 1.0) <> (3.0, 0.25): raise TestFailed, 'divmod(3.25, 1.0)'
-if divmod(-3.25, 1.0) <> (-4.0, 0.75): raise TestFailed, 'divmod(-3.25, 1.0)'
-if divmod(3.25, -1.0) <> (-4.0, -0.75): raise TestFailed, 'divmod(3.25, -1.0)'
-if divmod(-3.25, -1.0) <> (3.0, -0.25): raise TestFailed, 'divmod(-3.25, -1.0)'
+if fcmp(divmod(3.25, 1.0), (3.0, 0.25)):
+	raise TestFailed, 'divmod(3.25, 1.0)'
+if fcmp(divmod(-3.25, 1.0), (-4.0, 0.75)):
+	raise TestFailed, 'divmod(-3.25, 1.0)'
+if fcmp(divmod(3.25, -1.0), (-4.0, -0.75)):
+	raise TestFailed, 'divmod(3.25, -1.0)'
+if fcmp(divmod(-3.25, -1.0), (3.0, -0.25)):
+	raise TestFailed, 'divmod(-3.25, -1.0)'
 
 print 'eval'
 if eval('1+1') <> 2: raise TestFailed, 'eval(\'1+1\')'
diff --git a/Lib/test/test_b2.py b/Lib/test/test_b2.py
index 568ed97..f376f46 100644
--- a/Lib/test/test_b2.py
+++ b/Lib/test/test_b2.py
@@ -71,21 +71,21 @@
 if pow(-2L,2) <> 4: raise TestFailed, 'pow(-2L,2)'
 if pow(-2L,3) <> -8: raise TestFailed, 'pow(-2L,3)'
 #
-if pow(0.,0) <> 1.: raise TestFailed, 'pow(0.,0)'
-if pow(0.,1) <> 0.: raise TestFailed, 'pow(0.,1)'
-if pow(1.,0) <> 1.: raise TestFailed, 'pow(1.,0)'
-if pow(1.,1) <> 1.: raise TestFailed, 'pow(1.,1)'
+if fcmp(pow(0.,0), 1.): raise TestFailed, 'pow(0.,0)'
+if fcmp(pow(0.,1), 0.): raise TestFailed, 'pow(0.,1)'
+if fcmp(pow(1.,0), 1.): raise TestFailed, 'pow(1.,0)'
+if fcmp(pow(1.,1), 1.): raise TestFailed, 'pow(1.,1)'
 #
-if pow(2.,0) <> 1.: raise TestFailed, 'pow(2.,0)'
-if pow(2.,10) <> 1024.: raise TestFailed, 'pow(2.,10)'
-if pow(2.,20) <> 1024.*1024.: raise TestFailed, 'pow(2.,20)'
-if pow(2.,30) <> 1024.*1024.*1024.: raise TestFailed, 'pow(2.,30)'
+if fcmp(pow(2.,0), 1.): raise TestFailed, 'pow(2.,0)'
+if fcmp(pow(2.,10), 1024.): raise TestFailed, 'pow(2.,10)'
+if fcmp(pow(2.,20), 1024.*1024.): raise TestFailed, 'pow(2.,20)'
+if fcmp(pow(2.,30), 1024.*1024.*1024.): raise TestFailed, 'pow(2.,30)'
 #
 # XXX These don't work -- negative float to the float power...
-#if pow(-2.,0) <> 1.: raise TestFailed, 'pow(-2.,0)'
-#if pow(-2.,1) <> -2.: raise TestFailed, 'pow(-2.,1)'
-#if pow(-2.,2) <> 4.: raise TestFailed, 'pow(-2.,2)'
-#if pow(-2.,3) <> -8.: raise TestFailed, 'pow(-2.,3)'
+#if fcmp(pow(-2.,0), 1.): raise TestFailed, 'pow(-2.,0)'
+#if fcmp(pow(-2.,1), -2.): raise TestFailed, 'pow(-2.,1)'
+#if fcmp(pow(-2.,2), 4.): raise TestFailed, 'pow(-2.,2)'
+#if fcmp(pow(-2.,3), -8.): raise TestFailed, 'pow(-2.,3)'
 
 print 'range'
 if range(3) <> [0, 1, 2]: raise TestFailed, 'range(3)'
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index c6d0611..7a76664 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -18,5 +18,24 @@
 		except os.error:
 			pass
 
+FUZZ = 1e-6
+
+def fcmp(x, y): # fuzzy comparison function
+	if type(x) == type(0.0) or type(y) == type(0.0):
+		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([])):
+		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)
+
 TESTFN = '@test' # Filename used for testing
 from os import unlink
