guix/gnu/packages/patches/python-fix-tests.patch
Cyril Roelandt 9a9a3adf66 gnu: Enable tests in Python 3.
* gnu/packages/python.scm: enable tests for Python 3
* gnu/packages/python-fix-tests.patch: New file.
* gnu/packages/gnu-system.am (dist_patch_DATA): add it.
2014-03-25 14:41:32 +01:00

66 lines
3 KiB
Diff

See the discussion about the issues fixed here at:
http://bugs.python.org/issue20868 .
--- Lib/test/test_shutil.py 2014-03-01 03:02:36.088311000 +0100
+++ Lib/test/test_shutil.py 2014-03-01 04:56:37.768311000 +0100
@@ -1053,6 +1053,7 @@
self.assertRaises(ValueError, make_archive, base_name, 'xxx')
@requires_zlib
+ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix")
def test_make_archive_owner_group(self):
# testing make_archive with owner and group, with various combinations
# this works even if there's not gid/uid support
@@ -1081,6 +1082,7 @@
@requires_zlib
+ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix")
@unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support")
def test_tarfile_root_owner(self):
tmpdir, tmpdir2, base_name = self._create_files()
--- Lib/test/test_posixpath.py 2014-03-01 05:46:56.984311000 +0100
+++ Lib/test/test_posixpath.py 2014-03-07 00:59:20.888311000 +0100
@@ -319,7 +319,11 @@
del env['HOME']
home = pwd.getpwuid(os.getuid()).pw_dir
# $HOME can end with a trailing /, so strip it (see #17809)
- self.assertEqual(posixpath.expanduser("~"), home.rstrip("/"))
+ # The Guix builders have '/' as a home directory, so
+ # home.rstrip("/") will be an empty string and the test will
+ # fail. Let's just disable it since it does not really make
+ # sense with such a bizarre setup.
+ # self.assertEqual(posixpath.expanduser("~"), home.rstrip("/"))
def test_normpath(self):
self.assertEqual(posixpath.normpath(""), ".")
--- Lib/test/test_socket.py.orig 2014-03-02 22:14:12.264311000 +0100
+++ Lib/test/test_socket.py 2014-03-21 03:50:45.660311000 +0100
@@ -819,6 +819,8 @@
self.assertRaises(OverflowError, socket.htonl, k)
self.assertRaises(OverflowError, socket.htons, k)
+ @unittest.skipUnless(os.path.exists("/etc/services"),
+ "getservbyname uses /etc/services, which is not in the chroot")
def testGetServBy(self):
eq = self.assertEqual
# Find one service that exists, then check all the related interfaces.
@@ -1104,6 +1106,8 @@
self.assertRaises(ValueError, s.ioctl, -1, None)
s.ioctl(socket.SIO_KEEPALIVE_VALS, (1, 100, 100))
+ @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
+ "getaddrinfo() will fail")
def testGetaddrinfo(self):
try:
socket.getaddrinfo('localhost', 80)
@@ -1174,6 +1178,8 @@
# only IP addresses are allowed
self.assertRaises(socket.error, socket.getnameinfo, ('mail.python.org',0), 0)
+ @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
+ "getaddrinfo() will fail")
@unittest.skipUnless(support.is_resource_enabled('network'),
'network is not enabled')
def test_idna(self):