25
25
from bzrlib import (
30
from bzrlib.tests import per_controldir
33
def make_scenarios(transport_server, transport_readonly_server, formats):
31
from bzrlib.transport import memory
32
from bzrlib.tests import (
38
def make_scenarios(transport_server, transport_readonly_server, formats,
39
remote_server=None, remote_readonly_server=None,
40
remote_backing_server=None):
35
42
for workingtree_format in formats:
36
43
result.append((workingtree_format.__class__.__name__,
37
44
make_scenario(transport_server,
38
45
transport_readonly_server,
39
46
workingtree_format)))
47
default_wt_format = workingtree.format_registry.get_default()
48
if remote_server is None:
49
remote_server = test_server.SmartTCPServer_for_testing
50
if remote_readonly_server is None:
51
remote_readonly_server = test_server.ReadonlySmartTCPServer_for_testing
52
if remote_backing_server is None:
53
remote_backing_server = memory.MemoryServer
54
scenario = make_scenario(remote_server, remote_readonly_server,
56
scenario['repo_is_remote'] = True;
57
scenario['vfs_transport_factory'] = remote_backing_server
58
result.append((default_wt_format.__class__.__name__ + ',remote', scenario))
71
90
def make_branch_and_tree(self, relpath, format=None):
72
91
made_control = self.make_bzrdir(relpath, format=format)
73
92
made_control.create_repository()
74
made_control.create_branch()
75
return self.workingtree_format.initialize(made_control)
93
b = made_control.create_branch()
94
if getattr(self, 'repo_is_remote', False):
95
# If the repo is remote, then we just create a local lightweight
97
# XXX: This duplicates a lot of Branch.create_checkout, but we know
98
# we want a) lightweight, and b) a specific WT format. We also
99
# know that nothing should already exist, etc.
100
t = transport.get_transport(relpath)
102
bzrdir_format = self.workingtree_format.get_controldir_for_branch()
103
wt_dir = bzrdir_format.initialize_on_transport(t)
104
branch_ref = wt_dir.set_branch_reference(b)
105
wt = wt_dir.create_workingtree(None, from_branch=branch_ref)
107
wt = self.workingtree_format.initialize(made_control)
77
110
def make_branch_builder(self, relpath, format=None):
78
111
if format is None: