/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/store/revision/__init__.py

Merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
 
26
26
from bzrlib.lazy_import import lazy_import
27
27
lazy_import(globals(), """
28
 
from copy import deepcopy
29
 
import unittest
30
 
 
31
28
from bzrlib import (
32
29
    errors,
33
30
    osutils,
34
31
    xml5,
35
32
    )
 
33
from bzrlib.trace import mutter
36
34
""")
37
35
 
38
 
from bzrlib.trace import mutter
39
 
 
40
 
 
41
 
class RevisionStoreTestProviderAdapter(object):
42
 
    """A tool to generate a suite testing multiple repository stores.
43
 
 
44
 
    This is done by copying the test once for each repository store
45
 
    and injecting the transport_server, transport_readonly_server,
46
 
    and revision-store-factory into each copy.
47
 
    Each copy is also given a new id() to make it easy to identify.
48
 
    """
49
 
 
50
 
    def __init__(self, transport_server, transport_readonly_server, factories):
51
 
        self._transport_server = transport_server
52
 
        self._transport_readonly_server = transport_readonly_server
53
 
        self._factories = factories
54
 
    
55
 
    def adapt(self, test):
56
 
        result = unittest.TestSuite()
57
 
        for factory in self._factories:
58
 
            new_test = deepcopy(test)
59
 
            new_test.transport_server = self._transport_server
60
 
            new_test.transport_readonly_server = self._transport_readonly_server
61
 
            new_test.store_factory = factory
62
 
            def make_new_test_id():
63
 
                new_id = "%s(%s)" % (new_test.id(), factory)
64
 
                return lambda: new_id
65
 
            new_test.id = make_new_test_id()
66
 
            result.addTest(new_test)
67
 
        return result
68
 
 
69
 
    @staticmethod
70
 
    def default_test_list():
71
 
        """Generate the default list of revision store permutations to test."""
72
 
        from bzrlib.store.revision.text import TextRevisionStoreTestFactory
73
 
        from bzrlib.store.revision.knit import KnitRevisionStoreFactory
74
 
        result = []
75
 
        # test the fallback InterVersionedFile from weave to annotated knits
76
 
        result.append(TextRevisionStoreTestFactory())
77
 
        result.append(KnitRevisionStoreFactory())
78
 
        return result
79
 
 
80
36
 
81
37
class RevisionStore(object):
82
38
    """A revision store stores revisions."""