/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
5128.1.1 by Vincent Ladeuil
Uncontroversial cleanups, mostly comments
1
# Copyright (C) 2006-2010 Canonical Ltd
1887.1.1 by Adeodato Simó
Do not separate paragraphs in the copyright statement with blank lines,
2
#
1534.4.46 by Robert Collins
Nearly complete .bzr/checkout splitout.
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
1887.1.1 by Adeodato Simó
Do not separate paragraphs in the copyright statement with blank lines,
7
#
1534.4.46 by Robert Collins
Nearly complete .bzr/checkout splitout.
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
1887.1.1 by Adeodato Simó
Do not separate paragraphs in the copyright statement with blank lines,
12
#
1534.4.46 by Robert Collins
Nearly complete .bzr/checkout splitout.
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
4183.7.1 by Sabin Iacob
update FSF mailing address
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1534.4.46 by Robert Collins
Nearly complete .bzr/checkout splitout.
16
17
18
"""WorkingTree implementation tests for bzr.
19
5128.1.1 by Vincent Ladeuil
Uncontroversial cleanups, mostly comments
20
This test the conformance of all the workingtre variations to the expected API.
3943.8.1 by Marius Kruger
remove all trailing whitespace from bzr source
21
Specific tests for individual formats are in the tests/test_workingtree file
4523.1.4 by Martin Pool
Rename remaining *_implementations tests
22
rather than in tests/per_workingtree/*.py.
1534.4.46 by Robert Collins
Nearly complete .bzr/checkout splitout.
23
"""
24
4285.2.1 by Vincent Ladeuil
Cleanup test imports and use features to better track skipped tests.
25
from bzrlib import (
5409.1.2 by Vincent Ladeuil
Make make_branch_builder available to all per_workingtree tests.
26
    branchbuilder,
4285.2.1 by Vincent Ladeuil
Cleanup test imports and use features to better track skipped tests.
27
    errors,
28
    tests,
29
    workingtree,
30
    )
5363.2.2 by Jelmer Vernooij
Rename per_bzrdir => per_controldir.
31
from bzrlib.tests import per_controldir
1534.5.5 by Robert Collins
Move is_control_file into WorkingTree.is_control_filename and test.
32
33
4084.5.1 by Robert Collins
Bulk update all test adaptation into a single approach, using multiply_tests rather than test adapters.
34
def make_scenarios(transport_server, transport_readonly_server, formats):
35
    result = []
36
    for workingtree_format in formats:
37
        result.append((workingtree_format.__class__.__name__,
4285.2.1 by Vincent Ladeuil
Cleanup test imports and use features to better track skipped tests.
38
                       make_scenario(transport_server,
39
                                     transport_readonly_server,
40
                                     workingtree_format)))
4084.5.1 by Robert Collins
Bulk update all test adaptation into a single approach, using multiply_tests rather than test adapters.
41
    return result
42
43
44
def make_scenario(transport_server, transport_readonly_server,
4285.2.1 by Vincent Ladeuil
Cleanup test imports and use features to better track skipped tests.
45
                  workingtree_format):
4084.5.1 by Robert Collins
Bulk update all test adaptation into a single approach, using multiply_tests rather than test adapters.
46
    return {
47
        "transport_server": transport_server,
48
        "transport_readonly_server": transport_readonly_server,
49
        "bzrdir_format": workingtree_format._matchingbzrdir,
50
        "workingtree_format": workingtree_format,
51
        }
3363.1.1 by Aaron Bentley
Refactor intertree scenario creation
52
2553.2.10 by Robert Collins
And overhaul WorkingTreeTestProviderAdapter too.
53
5363.2.18 by Jelmer Vernooij
Rename TestCaseWithBzrDir -> TestCaseWithControlDir.
54
class TestCaseWithWorkingTree(per_controldir.TestCaseWithControlDir):
1666.1.4 by Robert Collins
* 'Metadir' is now the default disk format. This improves behaviour in
55
56
    def make_branch_and_tree(self, relpath, format=None):
57
        made_control = self.make_bzrdir(relpath, format=format)
1534.5.5 by Robert Collins
Move is_control_file into WorkingTree.is_control_filename and test.
58
        made_control.create_repository()
59
        made_control.create_branch()
60
        return self.workingtree_format.initialize(made_control)
1534.4.46 by Robert Collins
Nearly complete .bzr/checkout splitout.
61
5409.1.2 by Vincent Ladeuil
Make make_branch_builder available to all per_workingtree tests.
62
    def make_branch_builder(self, relpath, format=None):
63
        if format is None:
64
            format = self.bzrdir_format
5516.1.1 by Vincent Ladeuil
TestCaseWithWorkingTree.make_branch_builder respects its relpath parameter.
65
        builder = branchbuilder.BranchBuilder(self.get_transport(relpath),
5409.1.2 by Vincent Ladeuil
Make make_branch_builder available to all per_workingtree tests.
66
                                              format=format)
67
        return builder
68
1534.4.46 by Robert Collins
Nearly complete .bzr/checkout splitout.
69
4505.5.3 by Robert Collins
Test infrastructure for testing all inventory delta applications and fix CHK inventories to reject repeated file ids in deltas.
70
def workingtree_formats():
71
    """The known working tree formats."""
72
    return (workingtree.WorkingTreeFormat._formats.values() +
73
        workingtree._legacy_formats)
74
75
4084.5.1 by Robert Collins
Bulk update all test adaptation into a single approach, using multiply_tests rather than test adapters.
76
def load_tests(standard_tests, module, loader):
4332.3.2 by Robert Collins
Extract repository access in WorkingTree._check to be data driven, adding a new _get_check_refs method to support this.
77
    test_names = [
78
        'add_reference',
79
        'add',
4523.1.5 by Vincent Ladeuil
Fixed as asked in review.
80
        'annotate_iter',
4332.3.2 by Robert Collins
Extract repository access in WorkingTree._check to be data driven, adding a new _get_check_refs method to support this.
81
        'basis_inventory',
82
        'basis_tree',
83
        'break_lock',
84
        'changes_from',
85
        'check',
86
        'content_filters',
87
        'commit',
88
        'eol_conversion',
89
        'executable',
90
        'flush',
91
        'get_file_mtime',
92
        'get_parent_ids',
93
        'inv',
94
        'is_control_filename',
95
        'is_ignored',
96
        'locking',
97
        'merge_from_branch',
98
        'mkdir',
99
        'move',
100
        'nested_specifics',
101
        'parents',
102
        'paths2ids',
103
        'pull',
104
        'put_file',
105
        'readonly',
106
        'read_working_inventory',
107
        'remove',
108
        'rename_one',
109
        'revision_tree',
110
        'set_root_id',
111
        'smart_add',
4634.157.4 by Martin Pool
Add a basic (already passing) test for smart_add of a symlink
112
        'symlinks',
4332.3.2 by Robert Collins
Extract repository access in WorkingTree._check to be data driven, adding a new _get_check_refs method to support this.
113
        'uncommit',
114
        'unversion',
115
        'views',
116
        'walkdirs',
117
        'workingtree',
118
        ]
1534.4.46 by Robert Collins
Nearly complete .bzr/checkout splitout.
119
    test_workingtree_implementations = [
4332.3.32 by Robert Collins
Merge bzr.dev.
120
        'bzrlib.tests.per_workingtree.test_' + name for
4332.3.2 by Robert Collins
Extract repository access in WorkingTree._check to be data driven, adding a new _get_check_refs method to support this.
121
        name in test_names]
3302.9.16 by Vincent Ladeuil
bzrlib.tests.workingtree_implementations switched from
122
4084.5.1 by Robert Collins
Bulk update all test adaptation into a single approach, using multiply_tests rather than test adapters.
123
    scenarios = make_scenarios(
4285.2.1 by Vincent Ladeuil
Cleanup test imports and use features to better track skipped tests.
124
        tests.default_transport,
1534.4.46 by Robert Collins
Nearly complete .bzr/checkout splitout.
125
        # None here will cause a readonly decorator to be created
126
        # by the TestCaseWithTransport.get_readonly_transport method.
127
        None,
4505.5.3 by Robert Collins
Test infrastructure for testing all inventory delta applications and fix CHK inventories to reject repeated file ids in deltas.
128
        workingtree_formats()
129
        )
3302.9.16 by Vincent Ladeuil
bzrlib.tests.workingtree_implementations switched from
130
3302.9.27 by Vincent Ladeuil
Fixed as per Ian's review.
131
    # add the tests for the sub modules
4285.2.1 by Vincent Ladeuil
Cleanup test imports and use features to better track skipped tests.
132
    return tests.multiply_tests(
4084.5.1 by Robert Collins
Bulk update all test adaptation into a single approach, using multiply_tests rather than test adapters.
133
        loader.loadTestsFromModuleNames(test_workingtree_implementations),
134
        scenarios, standard_tests)