~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_shared_repository.py

  • Committer: Martin von Gagern
  • Date: 2010-04-20 08:47:38 UTC
  • mfrom: (5167 +trunk)
  • mto: This revision was merged to the branch mainline in revision 5195.
  • Revision ID: martin.vgagern@gmx.net-20100420084738-ygymnqmdllzrhpfn
merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2006, 2007 Canonical Ltd
 
1
# Copyright (C) 2006-2010 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
"""Black-box tests for repositories with shared branches"""
18
18
 
19
19
import os
20
20
 
21
 
from bzrlib.bzrdir import BzrDir
 
21
from bzrlib.bzrdir import BzrDir, BzrDirMetaFormat1
22
22
import bzrlib.errors as errors
23
23
from bzrlib.tests import TestCaseInTempDir
24
24
 
27
27
    def test_make_repository(self):
28
28
        out, err = self.run_bzr("init-repository a")
29
29
        self.assertEqual(out,
30
 
"""Shared repository with trees (format: pack-0.92)
 
30
"""Shared repository with trees (format: 2a)
31
31
Location:
32
32
  shared repository: a
33
33
""")
48
48
 
49
49
    def test_init_repo_existing_dir(self):
50
50
        """Make repo in existing directory.
51
 
        
 
51
 
52
52
        (Malone #38331)
53
53
        """
54
54
        out, err = self.run_bzr("init-repository .")
108
108
        self.run_bzr("init-repo --no-trees notrees")
109
109
        repo = BzrDir.open("notrees").open_repository()
110
110
        self.assertEqual(False, repo.make_working_trees())
 
111
 
 
112
    def test_init_repo_smart_acceptance(self):
 
113
        # The amount of hpss calls made on init-repo to a smart server should
 
114
        # be fixed.
 
115
        self.setup_smart_server_with_call_log()
 
116
        self.run_bzr(['init-repo', self.get_url('repo')])
 
117
        # This figure represent the amount of work to perform this use case. It
 
118
        # is entirely ok to reduce this number if a test fails due to rpc_count
 
119
        # being too low. If rpc_count increases, more network roundtrips have
 
120
        # become necessary for this use case. Please do not adjust this number
 
121
        # upwards without agreement from bzr's network support maintainers.
 
122
        self.assertLength(15, self.hpss_calls)
 
123
 
 
124
    def test_notification_on_branch_from_repository(self):
 
125
        out, err = self.run_bzr("init-repository -q a")
 
126
        self.assertEqual(out, "")
 
127
        self.assertEqual(err, "")
 
128
        dir = BzrDir.open('a')
 
129
        dir.open_repository() # there is a repository there
 
130
        e = self.assertRaises(errors.NotBranchError, dir.open_branch)
 
131
        self.assertContainsRe(str(e), "location is a repository")
 
132
 
 
133
    def test_notification_on_branch_from_nonrepository(self):
 
134
        fmt = BzrDirMetaFormat1()
 
135
        t = self.get_transport()
 
136
        t.mkdir('a')
 
137
        dir = fmt.initialize_on_transport(t.clone('a'))
 
138
        self.assertRaises(errors.NoRepositoryPresent, dir.open_repository)
 
139
        e = self.assertRaises(errors.NotBranchError, dir.open_branch)
 
140
        self.assertNotContainsRe(str(e), "location is a repository")