* Fix test failures on py3.5, backported from git, see also https://github.com/PythonCharmers/python-future/issues/183 * Fix unexpected test successes on py3.5, which are now correct --- a/tests/test_future/test_bytes.py +++ b/tests/test_future/test_bytes.py @@ -10,6 +10,8 @@ from numbers import Integral from future.tests.base import unittest, expectedFailurePY2 +import sys + TEST_UNICODE_STR = u'ℝεα∂@ßʟ℮ ☂ℯṧт υηḯ¢☺ḓ℮' # Tk icon as a .gif: @@ -534,6 +536,8 @@ self.assertRaises(ValueError, bytes.maketrans, b'abc', b'xyzq') self.assertRaises(TypeError, bytes.maketrans, 'abc', 'def') + @unittest.skipIf(sys.version_info[:2] == (3, 5), + 'Only works in Py3.5+') @unittest.expectedFailure def test_mod(self): """ @@ -551,6 +555,8 @@ a = b % (b'seventy-nine', 79) self.assertEqual(a, b'seventy-nine / 100 = 79%') + @unittest.skipIf(sys.version_info[:2] == (3, 5), + 'Only works in Py3.5+') @unittest.expectedFailure def test_imod(self): """ --- a/tests/test_future/test_builtins.py +++ b/tests/test_future/test_builtins.py @@ -525,11 +525,10 @@ self.assertRaises(ValueError, compile, 'print(42)\n', '', 'badmode') self.assertRaises(ValueError, compile, 'print(42)\n', '', 'single', 0xff) # Raises TypeError in Python < v3.5, ValueError in v3.5: - # self.assertRaises(TypeError, compile, chr(0), 'f', 'exec') + self.assertRaises((TypeError, ValueError), compile, chr(0), 'f', 'exec') self.assertRaises(TypeError, compile, 'pass', '?', 'exec', mode='eval', source='0', filename='tmp') compile('print("\xe5")\n', '', 'exec') - self.assertRaises(TypeError, compile, chr(0), 'f', 'exec') self.assertRaises(ValueError, compile, str('a = 1'), 'f', 'bad') # test the optimize argument @@ -1287,7 +1286,7 @@ self.assertAlmostEqual(pow(-1, 1/3), 0.5 + 0.8660254037844386j) # Raises TypeError in Python < v3.5, ValueError in v3.5: - # self.assertRaises(TypeError, pow, -1, -2, 3) + self.assertRaises((TypeError, ValueError), pow, -1, -2, 3) self.assertRaises(ValueError, pow, 1, 2, 0) self.assertRaises(TypeError, pow)