~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

Merge up bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006, 2007 Canonical Ltd
 
1
# Copyright (C) 2006, 2007, 2008 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
36
36
                          adapt_modules,
37
37
                          default_transport,
38
38
                          TestCaseWithTransport,
39
 
                          TestLoader,
40
39
                          TestSkipped,
41
 
                          TestSuite,
42
40
                          )
43
41
from bzrlib.tests.bzrdir_implementations.test_bzrdir import TestCaseWithBzrDir
44
42
from bzrlib.tests.workingtree_implementations import (
45
43
    WorkingTreeTestProviderAdapter,
46
44
    )
47
45
from bzrlib.revisiontree import RevisionTree
 
46
from bzrlib.transform import TransformPreview
48
47
from bzrlib.workingtree import (
49
48
    WorkingTreeFormat,
50
49
    WorkingTreeFormat3,
72
71
    return tree.basis_tree()
73
72
 
74
73
 
 
74
def preview_tree_pre(testcase, tree):
 
75
    tt = TransformPreview(tree)
 
76
    testcase.addCleanup(tt.finalize)
 
77
    return tt.get_preview_tree()
 
78
 
 
79
 
75
80
class TestTreeImplementationSupport(TestCaseWithTransport):
76
81
 
77
82
    def test_revision_tree_from_workingtree(self):
314
319
        self.scenarios.append(self.create_tree_scenario(
315
320
            DirStateRevisionTree.__name__, _dirstate_tree_from_workingtree,
316
321
            WorkingTreeFormat4()))
 
322
        self.scenarios.append(self.create_tree_scenario('PreviewTree',
 
323
            preview_tree_pre))
317
324
 
318
325
    def create_tree_scenario(self, name, converter, workingtree_format=None):
319
326
        """Create a scenario for the specified converter
334
341
        return name, scenario_options
335
342
 
336
343
 
337
 
def test_suite():
338
 
    result = TestSuite()
 
344
def load_tests(basic_tests, module, loader):
 
345
    result = loader.suiteClass()
 
346
    # add the tests for this module
 
347
    result.addTests(basic_tests)
 
348
 
339
349
    test_tree_implementations = [
340
350
        'bzrlib.tests.tree_implementations.test_annotate_iter',
341
351
        'bzrlib.tests.tree_implementations.test_get_file_mtime',
349
359
        'bzrlib.tests.tree_implementations.test_tree',
350
360
        'bzrlib.tests.tree_implementations.test_walkdirs',
351
361
        ]
 
362
 
352
363
    adapter = TreeTestProviderAdapter(
353
364
        default_transport,
354
365
        # None here will cause a readonly decorator to be created
355
366
        # by the TestCaseWithTransport.get_readonly_transport method.
356
367
        None,
357
 
        [(format, format._matchingbzrdir) for format in 
 
368
        [(format, format._matchingbzrdir) for format in
358
369
         WorkingTreeFormat._formats.values() + _legacy_formats])
359
 
    loader = TestLoader()
 
370
 
 
371
    # add the tests for the sub modules
360
372
    adapt_modules(test_tree_implementations, adapter, loader, result)
361
 
    result.addTests(loader.loadTestsFromModuleNames(['bzrlib.tests.tree_implementations']))
362
373
    return result