diff -r bd6515070f9c Lib/test/test_tcl.py --- a/Lib/test/test_tcl.py Fri Jul 04 20:26:22 2014 -0400 +++ b/Lib/test/test_tcl.py Sat Jul 05 10:39:56 2014 +0300 @@ -406,8 +406,9 @@ self.assertEqual(passValue(float('inf')), float('inf')) self.assertEqual(passValue(-float('inf')), -float('inf')) else: - f = float(passValue(float('nan'))) - self.assertNotEqual(f, f) + f = passValue(float('nan')) + self.assertIsInstance(f, str) + self.assertEqual(f.lower()[:3], 'nan') self.assertEqual(float(passValue(float('inf'))), float('inf')) self.assertEqual(float(passValue(-float('inf'))), -float('inf')) self.assertEqual(passValue((1, '2', (3.4,))), @@ -433,9 +434,8 @@ expected = float(expected) self.assertAlmostEqual(float(actual), expected, delta=abs(expected) * 1e-10) - def nan_eq(actual, expected): - actual = float(actual) - self.assertNotEqual(actual, actual) + def starts_with(actual, expected): + self.assertEqual(actual.lower()[:len(expected)], expected) check(True, '1') check(False, '0') @@ -458,7 +458,7 @@ check(f, f, eq=float_eq) check(float('inf'), 'Inf', eq=float_eq) check(-float('inf'), '-Inf', eq=float_eq) - check(float('nan'), 'NaN', eq=nan_eq) + check(float('nan'), 'nan', eq=starts_with) check((), '') check((1, (2,), (3, 4), '5 6', ()), '1 2 {3 4} {5 6} {}') check([1, [2,], [3, 4], '5 6', []], '1 2 {3 4} {5 6} {}')