瀏覽代碼

Move import repo onto CompatTestCase.

Jelmer Vernooij 10 年之前
父節點
當前提交
6095937abd
共有 3 個文件被更改,包括 25 次插入40 次删除
  1. 12 24
      dulwich/tests/compat/server_utils.py
  2. 1 6
      dulwich/tests/compat/test_repository.py
  3. 12 10
      dulwich/tests/compat/utils.py

+ 12 - 24
dulwich/tests/compat/server_utils.py

@@ -36,7 +36,6 @@ from dulwich.tests.utils import (
     skipIfPY3,
     )
 from dulwich.tests.compat.utils import (
-    import_repo,
     run_git_or_fail,
     )
 from dulwich.tests.compat.utils import require_git_version
@@ -84,10 +83,8 @@ class ServerTests(object):
     min_single_branch_version = (1, 7, 10,)
 
     def import_repos(self):
-        self._old_repo = import_repo('server_old.export')
-        self.addCleanup(tear_down_repo, self._old_repo)
-        self._new_repo = import_repo('server_new.export')
-        self.addCleanup(tear_down_repo, self._new_repo)
+        self._old_repo = self.import_repo('server_old.export')
+        self._new_repo = self.import_repo('server_new.export')
 
     def url(self, port):
         return '%s://localhost:%s/' % (self.protocol, port)
@@ -107,10 +104,8 @@ class ServerTests(object):
         self.assertReposEqual(self._old_repo, self._new_repo)
 
     def test_push_to_dulwich_no_op(self):
-        self._old_repo = import_repo('server_old.export')
-        self.addCleanup(tear_down_repo, self._old_repo)
-        self._new_repo = import_repo('server_old.export')
-        self.addCleanup(tear_down_repo, self._new_repo)
+        self._old_repo = self.import_repo('server_old.export')
+        self._new_repo = self.import_repo('server_old.export')
         self.assertReposEqual(self._old_repo, self._new_repo)
         port = self._start_server(self._old_repo)
 
@@ -119,10 +114,8 @@ class ServerTests(object):
         self.assertReposEqual(self._old_repo, self._new_repo)
 
     def test_push_to_dulwich_remove_branch(self):
-        self._old_repo = import_repo('server_old.export')
-        self.addCleanup(tear_down_repo, self._old_repo)
-        self._new_repo = import_repo('server_old.export')
-        self.addCleanup(tear_down_repo, self._new_repo)
+        self._old_repo = self.import_repo('server_old.export')
+        self._new_repo = self.import_repo('server_old.export')
         self.assertReposEqual(self._old_repo, self._new_repo)
         port = self._start_server(self._old_repo)
 
@@ -144,10 +137,8 @@ class ServerTests(object):
         self.assertReposEqual(self._old_repo, self._new_repo)
 
     def test_fetch_from_dulwich_no_op(self):
-        self._old_repo = import_repo('server_old.export')
-        self.addCleanup(tear_down_repo, self._old_repo)
-        self._new_repo = import_repo('server_old.export')
-        self.addCleanup(tear_down_repo, self._new_repo)
+        self._old_repo = self.import_repo('server_old.export')
+        self._new_repo = self.import_repo('server_old.export')
         self.assertReposEqual(self._old_repo, self._new_repo)
         port = self._start_server(self._new_repo)
 
@@ -177,15 +168,14 @@ class ServerTests(object):
             shutil.rmtree(new_repo_base_dir)
 
     def test_lsremote_from_dulwich(self):
-        self._repo = import_repo('server_old.export')
+        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)
 
     def test_new_shallow_clone_from_dulwich(self):
         require_git_version(self.min_single_branch_version)
-        self._source_repo = import_repo('server_new.export')
-        self.addCleanup(tear_down_repo, self._source_repo)
+        self._source_repo = self.import_repo('server_new.export')
         self._stub_repo = _StubRepo('shallow')
         self.addCleanup(tear_down_repo, self._stub_repo)
         port = self._start_server(self._source_repo)
@@ -201,8 +191,7 @@ class ServerTests(object):
 
     def test_fetch_same_depth_into_shallow_clone_from_dulwich(self):
         require_git_version(self.min_single_branch_version)
-        self._source_repo = import_repo('server_new.export')
-        self.addCleanup(tear_down_repo, self._source_repo)
+        self._source_repo = self.import_repo('server_new.export')
         self._stub_repo = _StubRepo('shallow')
         self.addCleanup(tear_down_repo, self._stub_repo)
         port = self._start_server(self._source_repo)
@@ -223,8 +212,7 @@ class ServerTests(object):
 
     def test_fetch_full_depth_into_shallow_clone_from_dulwich(self):
         require_git_version(self.min_single_branch_version)
-        self._source_repo = import_repo('server_new.export')
-        self.addCleanup(tear_down_repo, self._source_repo)
+        self._source_repo = self.import_repo('server_new.export')
         self._stub_repo = _StubRepo('shallow')
         self.addCleanup(tear_down_repo, self._stub_repo)
         port = self._start_server(self._source_repo)

+ 1 - 6
dulwich/tests/compat/test_repository.py

@@ -30,13 +30,9 @@ from dulwich.objects import (
 from dulwich.repo import (
     check_ref_format,
     )
-from dulwich.tests.utils import (
-    tear_down_repo,
-    )
 
 from dulwich.tests.compat.utils import (
     run_git_or_fail,
-    import_repo,
     CompatTestCase,
     )
 
@@ -46,8 +42,7 @@ class ObjectStoreTestCase(CompatTestCase):
 
     def setUp(self):
         super(ObjectStoreTestCase, self).setUp()
-        self._repo = import_repo('server_new.export')
-        self.addCleanup(tear_down_repo, self._repo)
+        self._repo = self.import_repo('server_new.export')
 
     def _run_git(self, args):
         return run_git_or_fail(args, cwd=self._repo.path)

+ 12 - 10
dulwich/tests/compat/utils.py

@@ -21,6 +21,7 @@
 
 import errno
 import os
+import shutil
 import socket
 import subprocess
 import tempfile
@@ -165,16 +166,6 @@ def import_repo_to_dir(name):
     return temp_repo_dir
 
 
-def import_repo(name):
-    """Import a repo from a fast-export file in a temporary directory.
-
-    :param name: The name of the repository export file, relative to
-        dulwich/tests/data/repos.
-    :returns: An initialized Repo object that lives in a temporary directory.
-    """
-    return Repo(import_repo_to_dir(name))
-
-
 def check_for_daemon(limit=10, delay=0.1, timeout=0.1, port=TCP_GIT_PORT):
     """Check for a running TCP daemon.
 
@@ -230,3 +221,14 @@ class CompatTestCase(TestCase):
         refs2 = repo2.get_refs()
         objs2 = set(repo2.object_store)
         self.assertFalse(refs1 == refs2 and objs1 == objs2)
+
+    def import_repo(self, name):
+        """Import a repo from a fast-export file in a temporary directory.
+
+        :param name: The name of the repository export file, relative to
+            dulwich/tests/data/repos.
+        :returns: An initialized Repo object that lives in a temporary directory.
+        """
+        path = import_repo_to_dir(name)
+        self.addCleanup(shutil.rmtree, path)
+        return Repo(path)