~ubuntu-branches/ubuntu/precise/dulwich/precise-security

« back to all changes in this revision

Viewing changes to dulwich/tests/compat/server_utils.py

  • Committer: Bazaar Package Importer
  • Author(s): Jelmer Vernooij
  • Date: 2011-08-07 15:03:44 UTC
  • mto: This revision was merged to the branch mainline in revision 25.
  • Revision ID: james.westby@ubuntu.com-20110807150344-94xw3o3hnh47y1m8
Tags: upstream-0.8.0
ImportĀ upstreamĀ versionĀ 0.8.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
"""Utilities for testing git server compatibility."""
21
21
 
22
22
 
 
23
import os
23
24
import select
 
25
import shutil
24
26
import socket
 
27
import tempfile
25
28
import threading
26
29
 
 
30
from dulwich.repo import Repo
27
31
from dulwich.server import (
28
32
    ReceivePackHandler,
29
33
    )
100
104
        self._old_repo.object_store._pack_cache = None
101
105
        self.assertReposEqual(self._old_repo, self._new_repo)
102
106
 
 
107
    def test_clone_from_dulwich_empty(self):
 
108
        old_repo_dir = os.path.join(tempfile.mkdtemp(), 'empty_old')
 
109
        run_git_or_fail(['init', '--quiet', '--bare', old_repo_dir])
 
110
        self._old_repo = Repo(old_repo_dir)
 
111
        port = self._start_server(self._old_repo)
 
112
 
 
113
        new_repo_base_dir = tempfile.mkdtemp()
 
114
        try:
 
115
            new_repo_dir = os.path.join(new_repo_base_dir, 'empty_new')
 
116
            run_git_or_fail(['clone', self.url(port), new_repo_dir],
 
117
                            cwd=new_repo_base_dir)
 
118
            new_repo = Repo(new_repo_dir)
 
119
            self.assertReposEqual(self._old_repo, new_repo)
 
120
        finally:
 
121
            # We don't create a Repo from new_repo_dir until after some errors
 
122
            # may have occurred, so don't depend on tearDown to clean it up.
 
123
            shutil.rmtree(new_repo_base_dir)
 
124
 
103
125
 
104
126
class ShutdownServerMixIn:
105
127
    """Mixin that allows serve_forever to be shut down.