~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Andrew Bennetts
  • Date: 2010-10-08 08:15:14 UTC
  • mto: This revision was merged to the branch mainline in revision 5498.
  • Revision ID: andrew.bennetts@canonical.com-20101008081514-dviqzrdfwyzsqbz2
Split NEWS into per-release doc/en/release-notes/bzr-*.txt

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2011 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
18
18
 
19
19
import os
20
20
 
21
 
from bzrlib.bzrdir import BzrDirMetaFormat1
22
 
from bzrlib.controldir import ControlDir
 
21
from bzrlib import osutils
 
22
from bzrlib.bzrdir import BzrDir, BzrDirMetaFormat1
23
23
import bzrlib.errors as errors
24
24
from bzrlib.tests import TestCaseInTempDir
25
 
from bzrlib.tests.matchers import ContainsNoVfsCalls
26
 
 
27
25
 
28
26
class TestSharedRepo(TestCaseInTempDir):
29
27
 
35
33
  shared repository: a
36
34
""")
37
35
        self.assertEqual(err, "")
38
 
        dir = ControlDir.open('a')
 
36
        dir = BzrDir.open('a')
39
37
        self.assertIs(dir.open_repository().is_shared(), True)
40
38
        self.assertRaises(errors.NotBranchError, dir.open_branch)
41
39
        self.assertRaises(errors.NoWorkingTree, dir.open_workingtree)
44
42
        out, err = self.run_bzr("init-repository a -q")
45
43
        self.assertEqual(out, "")
46
44
        self.assertEqual(err, "")
47
 
        dir = ControlDir.open('a')
 
45
        dir = BzrDir.open('a')
48
46
        self.assertIs(dir.open_repository().is_shared(), True)
49
47
        self.assertRaises(errors.NotBranchError, dir.open_branch)
50
48
        self.assertRaises(errors.NoWorkingTree, dir.open_workingtree)
55
53
        (Malone #38331)
56
54
        """
57
55
        out, err = self.run_bzr("init-repository .")
58
 
        dir = ControlDir.open('.')
 
56
        dir = BzrDir.open('.')
59
57
        self.assertTrue(dir.open_repository())
60
58
 
61
59
    def test_init(self):
62
60
        self.run_bzr("init-repo a")
63
61
        self.run_bzr("init --format=default a/b")
64
 
        dir = ControlDir.open('a')
 
62
        dir = BzrDir.open('a')
65
63
        self.assertIs(dir.open_repository().is_shared(), True)
66
64
        self.assertRaises(errors.NotBranchError, dir.open_branch)
67
65
        self.assertRaises(errors.NoWorkingTree, dir.open_workingtree)
68
 
        bdir = ControlDir.open('a/b')
 
66
        bdir = BzrDir.open('a/b')
69
67
        bdir.open_branch()
70
68
        self.assertRaises(errors.NoRepositoryPresent, bdir.open_repository)
71
69
        wt = bdir.open_workingtree()
74
72
        self.run_bzr("init-repo a")
75
73
        self.run_bzr("init --format=default a/b")
76
74
        self.run_bzr('branch a/b a/c')
77
 
        cdir = ControlDir.open('a/c')
 
75
        cdir = BzrDir.open('a/c')
78
76
        cdir.open_branch()
79
77
        self.assertRaises(errors.NoRepositoryPresent, cdir.open_repository)
80
78
        cdir.open_workingtree()
82
80
    def test_branch_tree(self):
83
81
        self.run_bzr("init-repo --trees a")
84
82
        self.run_bzr("init --format=default b")
85
 
        with file('b/hello', 'wt') as f: f.write('bar')
 
83
        file('b/hello', 'wt').write('bar')
86
84
        self.run_bzr("add b/hello")
87
85
        self.run_bzr("commit -m bar b/hello")
88
86
 
89
87
        self.run_bzr('branch b a/c')
90
 
        cdir = ControlDir.open('a/c')
 
88
        cdir = BzrDir.open('a/c')
91
89
        cdir.open_branch()
92
90
        self.assertRaises(errors.NoRepositoryPresent, cdir.open_repository)
93
 
        self.assertPathExists('a/c/hello')
 
91
        self.failUnlessExists('a/c/hello')
94
92
        cdir.open_workingtree()
95
93
 
96
94
    def test_trees_default(self):
97
95
        # 0.15 switched to trees by default
98
96
        self.run_bzr("init-repo repo")
99
 
        repo = ControlDir.open("repo").open_repository()
 
97
        repo = BzrDir.open("repo").open_repository()
100
98
        self.assertEqual(True, repo.make_working_trees())
101
99
 
102
100
    def test_trees_argument(self):
103
101
        # Supplying the --trees argument should be harmless,
104
102
        # as it was previously non-default we need to get it right.
105
103
        self.run_bzr("init-repo --trees trees")
106
 
        repo = ControlDir.open("trees").open_repository()
 
104
        repo = BzrDir.open("trees").open_repository()
107
105
        self.assertEqual(True, repo.make_working_trees())
108
106
 
109
107
    def test_no_trees_argument(self):
110
108
        # --no-trees should make it so that there is no working tree
111
109
        self.run_bzr("init-repo --no-trees notrees")
112
 
        repo = ControlDir.open("notrees").open_repository()
 
110
        repo = BzrDir.open("notrees").open_repository()
113
111
        self.assertEqual(False, repo.make_working_trees())
114
112
 
115
113
    def test_init_repo_smart_acceptance(self):
122
120
        # being too low. If rpc_count increases, more network roundtrips have
123
121
        # become necessary for this use case. Please do not adjust this number
124
122
        # upwards without agreement from bzr's network support maintainers.
125
 
        self.assertLength(11, self.hpss_calls)
126
 
        self.assertLength(1, self.hpss_connections)
127
 
        self.assertThat(self.hpss_calls, ContainsNoVfsCalls)
 
123
        self.assertLength(15, self.hpss_calls)
128
124
 
129
125
    def test_notification_on_branch_from_repository(self):
130
126
        out, err = self.run_bzr("init-repository -q a")
131
127
        self.assertEqual(out, "")
132
128
        self.assertEqual(err, "")
133
 
        dir = ControlDir.open('a')
 
129
        dir = BzrDir.open('a')
134
130
        dir.open_repository() # there is a repository there
135
131
        e = self.assertRaises(errors.NotBranchError, dir.open_branch)
136
132
        self.assertContainsRe(str(e), "location is a repository")
146
142
 
147
143
    def test_init_repo_with_post_repo_init_hook(self):
148
144
        calls = []
149
 
        ControlDir.hooks.install_named_hook('post_repo_init', calls.append, None)
 
145
        BzrDir.hooks.install_named_hook('post_repo_init', calls.append, None)
150
146
        self.assertLength(0, calls)
151
147
        self.run_bzr("init-repository a")
152
148
        self.assertLength(1, calls)
159
155
        # and uses whoami only in a lock file. Without whoami the login name
160
156
        # is used. This test is to ensure that init-repo passes even when whoami
161
157
        # is not available.
162
 
        self.overrideEnv('EMAIL', None)
163
 
        self.overrideEnv('BZR_EMAIL', None)
 
158
        osutils.set_or_unset_env('EMAIL', None)
 
159
        osutils.set_or_unset_env('BZR_EMAIL', None)
164
160
        out, err = self.run_bzr(['init-repo', 'foo'])
165
161
        self.assertEqual(err, '')
166
162
        self.assertTrue(os.path.exists('foo'))