Browse Source

Fix server compat tests on python3 for plain TCP server.

Jelmer Vernooij 10 years ago
parent
commit
5b7d9ba2ca

+ 7 - 9
dulwich/tests/compat/server_utils.py

@@ -31,7 +31,6 @@ from dulwich.server import (
     ReceivePackHandler,
     )
 from dulwich.tests.utils import (
-    skipIfPY3,
     tear_down_repo,
     )
 from dulwich.tests.compat.utils import (
@@ -67,7 +66,6 @@ def _get_shallow(repo):
     return shallows
 
 
-@skipIfPY3
 class ServerTests(object):
     """Base tests for testing servers.
 
@@ -117,7 +115,7 @@ class ServerTests(object):
                         cwd=self._new_repo.path)
 
         self.assertEqual(
-            self._old_repo.get_refs().keys(), ["refs/heads/branch"])
+            list(self._old_repo.get_refs().keys()), [b"refs/heads/branch"])
 
     def test_fetch_from_dulwich(self):
         self.import_repos()
@@ -160,7 +158,7 @@ class ServerTests(object):
         self._repo = self.import_repo('server_old.export')
         port = self._start_server(self._repo)
         o = run_git_or_fail(['ls-remote', self.url(port)])
-        self.assertEqual(len(o.split('\n')), 4)
+        self.assertEqual(len(o.split(b'\n')), 4)
 
     def test_new_shallow_clone_from_dulwich(self):
         require_git_version(self.min_single_branch_version)
@@ -173,8 +171,8 @@ class ServerTests(object):
         run_git_or_fail(['clone', '--mirror', '--depth=1', '--no-single-branch',
                         self.url(port), self._stub_repo.path])
         clone = self._stub_repo = Repo(self._stub_repo.path)
-        expected_shallow = ['94de09a530df27ac3bb613aaecdd539e0a0655e1',
-                            'da5cd81e1883c62a25bb37c4d1f8ad965b29bf8d']
+        expected_shallow = [b'94de09a530df27ac3bb613aaecdd539e0a0655e1',
+                            b'da5cd81e1883c62a25bb37c4d1f8ad965b29bf8d']
         self.assertEqual(expected_shallow, _get_shallow(clone))
         self.assertReposNotEqual(clone, self._source_repo)
 
@@ -194,8 +192,8 @@ class ServerTests(object):
         run_git_or_fail(
           ['fetch', '--depth=1', self.url(port)] + self.branch_args(),
           cwd=self._stub_repo.path)
-        expected_shallow = ['94de09a530df27ac3bb613aaecdd539e0a0655e1',
-                            'da5cd81e1883c62a25bb37c4d1f8ad965b29bf8d']
+        expected_shallow = [b'94de09a530df27ac3bb613aaecdd539e0a0655e1',
+                            b'da5cd81e1883c62a25bb37c4d1f8ad965b29bf8d']
         self.assertEqual(expected_shallow, _get_shallow(clone))
         self.assertReposNotEqual(clone, self._source_repo)
 
@@ -233,7 +231,7 @@ class NoSideBand64kReceivePackHandler(ReceivePackHandler):
     @classmethod
     def capabilities(cls):
         return tuple(c for c in ReceivePackHandler.capabilities()
-                     if c != 'side-band-64k')
+                     if c != b'side-band-64k')
 
 
 def ignore_error(error):

+ 7 - 7
dulwich/tests/compat/test_server.py

@@ -52,16 +52,16 @@ class GitServerTestCase(ServerTests, CompatTestCase):
     protocol = 'git'
 
     def _handlers(self):
-        return {'git-receive-pack': NoSideBand64kReceivePackHandler}
+        return {b'git-receive-pack': NoSideBand64kReceivePackHandler}
 
     def _check_server(self, dul_server):
-        receive_pack_handler_cls = dul_server.handlers['git-receive-pack']
+        receive_pack_handler_cls = dul_server.handlers[b'git-receive-pack']
         caps = receive_pack_handler_cls.capabilities()
-        self.assertFalse('side-band-64k' in caps)
+        self.assertFalse(b'side-band-64k' in caps)
 
     def _start_server(self, repo):
-        backend = DictBackend({'/': repo})
-        dul_server = TCPGitServer(backend, 'localhost', 0,
+        backend = DictBackend({b'/': repo})
+        dul_server = TCPGitServer(backend, b'localhost', 0,
                                   handlers=self._handlers())
         self._check_server(dul_server)
         self.addCleanup(dul_server.shutdown)
@@ -92,6 +92,6 @@ class GitServerSideBand64kTestCase(GitServerTestCase):
         return None  # default handlers include side-band-64k
 
     def _check_server(self, server):
-        receive_pack_handler_cls = server.handlers['git-receive-pack']
+        receive_pack_handler_cls = server.handlers[b'git-receive-pack']
         caps = receive_pack_handler_cls.capabilities()
-        self.assertTrue('side-band-64k' in caps)
+        self.assertTrue(b'side-band-64k' in caps)

+ 10 - 4
dulwich/tests/compat/test_web.py

@@ -35,6 +35,9 @@ from dulwich.tests import (
     SkipTest,
     skipIf,
     )
+from dulwich.tests.utils import (
+    skipIfPY3,
+    )
 from dulwich.web import (
     make_wsgi_chain,
     HTTPGitApplication,
@@ -76,6 +79,7 @@ class WebTests(ServerTests):
 
 
 @skipIf(sys.platform == 'win32', 'Broken on windows, with very long fail time.')
+@skipIfPY3
 class SmartWebTestCase(WebTests, CompatTestCase):
     """Test cases for smart HTTP server.
 
@@ -88,9 +92,9 @@ class SmartWebTestCase(WebTests, CompatTestCase):
         return {'git-receive-pack': NoSideBand64kReceivePackHandler}
 
     def _check_app(self, app):
-        receive_pack_handler_cls = app.handlers['git-receive-pack']
+        receive_pack_handler_cls = app.handlers[b'git-receive-pack']
         caps = receive_pack_handler_cls.capabilities()
-        self.assertFalse('side-band-64k' in caps)
+        self.assertFalse(b'side-band-64k' in caps)
 
     def _make_app(self, backend):
         app = make_wsgi_chain(backend, handlers=self._handlers())
@@ -103,6 +107,7 @@ class SmartWebTestCase(WebTests, CompatTestCase):
 
 
 @skipIf(sys.platform == 'win32', 'Broken on windows, with very long fail time.')
+@skipIfPY3
 class SmartWebSideBand64kTestCase(SmartWebTestCase):
     """Test cases for smart HTTP server with side-band-64k support."""
 
@@ -113,12 +118,13 @@ class SmartWebSideBand64kTestCase(SmartWebTestCase):
         return None  # default handlers include side-band-64k
 
     def _check_app(self, app):
-        receive_pack_handler_cls = app.handlers['git-receive-pack']
+        receive_pack_handler_cls = app.handlers[b'git-receive-pack']
         caps = receive_pack_handler_cls.capabilities()
-        self.assertTrue('side-band-64k' in caps)
+        self.assertTrue(b'side-band-64k' in caps)
 
 
 @skipIf(sys.platform == 'win32', 'Broken on windows, with very long fail time.')
+@skipIfPY3
 class DumbWebTestCase(WebTests, CompatTestCase):
     """Test cases for dumb HTTP server."""