~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

Merge from bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
"""Test "bzr init"""
19
19
 
 
20
import os
20
21
 
 
22
from bzrlib.bzrdir import BzrDirMetaFormat1
21
23
from bzrlib.tests.blackbox import ExternalBase
 
24
from bzrlib.workingtree import WorkingTree
22
25
 
23
26
 
24
27
class TestInit(ExternalBase):
30
33
        self.assertIsDirectory('.bzr', t)
31
34
        self.assertIsDirectory('.bzr/checkout', t)
32
35
        self.assertIsDirectory('.bzr/checkout/lock', t)
 
36
 
 
37
    def test_init_at_repository_root(self):
 
38
        # bzr init at the root of a repository should create a branch
 
39
        # and working tree even when creation of working trees is disabled.
 
40
        t = self.get_transport()
 
41
        t.mkdir('repo')
 
42
        format = BzrDirMetaFormat1()
 
43
        newdir = format.initialize(t.abspath('repo'))
 
44
        repo = newdir.create_repository(shared=True)
 
45
        repo.set_make_working_trees(False)
 
46
        out, err = self.run_bzr('init', 'repo')
 
47
        self.assertEqual('', out)
 
48
        self.assertEqual('', err)
 
49
        newdir.open_branch()
 
50
        newdir.open_workingtree()
 
51
        
 
52
    def test_init_branch(self):
 
53
        out, err = self.run_bzr('init')
 
54
        self.assertEqual('', out)
 
55
        self.assertEqual('', err)
 
56
 
 
57
        # Can it handle subdirectories of branches too ?
 
58
        out, err = self.run_bzr('init', 'subdir1')
 
59
        self.assertEqual('', out)
 
60
        self.assertEqual('', err)
 
61
        WorkingTree.open('subdir1')
 
62
        
 
63
        out, err = self.run_bzr('init', 'subdir2/nothere', retcode=3)
 
64
        self.assertEqual('', out)
 
65
        self.failUnless(err.startswith(
 
66
            'bzr: ERROR: exceptions.OSError: '
 
67
            '[Errno 2] No such file or directory: '))
 
68
        
 
69
        os.mkdir('subdir2')
 
70
        out, err = self.run_bzr('init', 'subdir2')
 
71
        self.assertEqual('', out)
 
72
        self.assertEqual('', err)
 
73
        # init an existing branch.
 
74
        out, err = self.run_bzr('init', 'subdir2', retcode=3)
 
75
        self.assertEqual('', out)
 
76
        self.failUnless(err.startswith('bzr: ERROR: Already a branch:'))