/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/tests/intertree_implementations/__init__.py

  • Committer: Andrew Bennetts
  • Date: 2008-10-27 06:14:45 UTC
  • mfrom: (3793 +trunk)
  • mto: This revision was merged to the branch mainline in revision 3795.
  • Revision ID: andrew.bennetts@canonical.com-20081027061445-eqt9lz6uw1mbvq4g
Merge from bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 - tests/test_workingtree.py
23
23
"""
24
24
 
 
25
import bzrlib
25
26
import bzrlib.errors as errors
26
27
from bzrlib.transport import get_transport
 
28
from bzrlib.transform import TransformPreview
27
29
from bzrlib.tests import (
28
30
                          adapt_modules,
29
31
                          default_transport,
42
44
    )
43
45
 
44
46
 
45
 
def return_provided_trees(source, target):
 
47
def return_provided_trees(test_case, source, target):
46
48
    """Return the source and target tree unaltered."""
47
49
    return source, target
48
50
 
71
73
             mutable_trees_to_test_trees)
72
74
        """
73
75
        result = []
74
 
        for (intertree_class,
 
76
        for (label, intertree_class,
75
77
            workingtree_format,
76
78
            workingtree_format_to,
77
79
            mutable_trees_to_test_trees) in formats:
78
 
            scenario = (intertree_class.__name__, {
 
80
            scenario = (label, {
79
81
                "transport_server":self._transport_server,
80
82
                "transport_readonly_server":self._transport_readonly_server,
81
83
                "bzrdir_format":workingtree_format._matchingbzrdir,
92
94
            result.append(scenario)
93
95
        return result
94
96
 
 
97
def mutable_trees_to_preview_trees(test_case, source, target):
 
98
    preview = TransformPreview(target)
 
99
    test_case.addCleanup(preview.finalize)
 
100
    return source, preview.get_preview_tree()
95
101
 
96
102
def load_tests(basic_tests, module, loader):
97
103
    result = loader.suiteClass()
104
110
        ]
105
111
    test_intertree_permutations = [
106
112
        # test InterTree with two default-format working trees.
107
 
        (InterTree, default_tree_format, default_tree_format,
 
113
        (InterTree.__name__, InterTree, default_tree_format, default_tree_format,
108
114
         return_provided_trees)]
109
115
    for optimiser in InterTree._optimisers:
110
 
        test_intertree_permutations.append(
111
 
            (optimiser,
112
 
             optimiser._matching_from_tree_format,
113
 
             optimiser._matching_to_tree_format,
114
 
             optimiser._test_mutable_trees_to_test_trees))
 
116
        if optimiser is bzrlib.workingtree_4.InterDirStateTree:
 
117
            # Its a little ugly to be conditional here, but less so than having
 
118
            # the optimiser listed twice.
 
119
            # Add once, compiled version
 
120
            test_intertree_permutations.append(
 
121
                (optimiser.__name__ + "(C)",
 
122
                 optimiser,
 
123
                 optimiser._matching_from_tree_format,
 
124
                 optimiser._matching_to_tree_format,
 
125
                 optimiser.make_source_parent_tree_compiled_dirstate))
 
126
            # python version
 
127
            test_intertree_permutations.append(
 
128
                (optimiser.__name__ + "(PY)",
 
129
                 optimiser,
 
130
                 optimiser._matching_from_tree_format,
 
131
                 optimiser._matching_to_tree_format,
 
132
                 optimiser.make_source_parent_tree_python_dirstate))
 
133
        else:
 
134
            test_intertree_permutations.append(
 
135
                (optimiser.__name__,
 
136
                 optimiser,
 
137
                 optimiser._matching_from_tree_format,
 
138
                 optimiser._matching_to_tree_format,
 
139
                 optimiser._test_mutable_trees_to_test_trees))
 
140
    # PreviewTree does not have an InterTree optimiser class.
 
141
    test_intertree_permutations.append(
 
142
        (InterTree.__name__ + "(PreviewTree)",
 
143
         InterTree,
 
144
         default_tree_format,
 
145
         default_tree_format,
 
146
         mutable_trees_to_preview_trees))
115
147
    adapter = InterTreeTestProviderAdapter(
116
148
        default_transport,
117
149
        # None here will cause a readonly decorator to be created