~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/__init__.py

  • Committer: Robert Collins
  • Date: 2006-05-16 06:45:43 UTC
  • mto: (1713.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 1714.
  • Revision ID: robertc@robertcollins.net-20060516064543-5cb7cc63047ba98b
Start on bench_add, an add benchtest.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1037
1037
        default_transport = old_transport
1038
1038
 
1039
1039
 
1040
 
def benchmark_suite():
1041
 
    """Build and return a TestSuite which contains benchmark tests only."""
1042
 
    return TestSuite()
1043
 
 
1044
 
 
1045
1040
def test_suite():
1046
1041
    """Build and return TestSuite for the whole of bzrlib.
1047
1042
    
1126
1121
        'bzrlib.tests.test_transport_implementations']
1127
1122
 
1128
1123
    suite = TestSuite()
1129
 
    # python2.4's TestLoader.loadTestsFromNames gives very poor 
1130
 
    # errors if it fails to load a named module - no indication of what's
1131
 
    # actually wrong, just "no such module".  We should probably override that
1132
 
    # class, but for the moment just load them ourselves. (mbp 20051202)
1133
 
    loader = TestLoader()
 
1124
    loader = TestUtil.TestLoader()
1134
1125
    from bzrlib.transport import TransportTestProviderAdapter
1135
1126
    adapter = TransportTestProviderAdapter()
1136
1127
    adapt_modules(test_transport_implementations, adapter, loader, suite)
1137
 
    for mod_name in testmod_names:
1138
 
        mod = _load_module_by_name(mod_name)
1139
 
        suite.addTest(loader.loadTestsFromModule(mod))
 
1128
    suite.addTest(loader.loadTestsFromModuleNames(testmod_names))
1140
1129
    for package in packages_to_test():
1141
1130
        suite.addTest(package.test_suite())
1142
1131
    for m in MODULES_TO_TEST:
1151
1140
 
1152
1141
def adapt_modules(mods_list, adapter, loader, suite):
1153
1142
    """Adapt the modules in mods_list using adapter and add to suite."""
1154
 
    for mod_name in mods_list:
1155
 
        mod = _load_module_by_name(mod_name)
1156
 
        for test in iter_suite_tests(loader.loadTestsFromModule(mod)):
1157
 
            suite.addTests(adapter.adapt(test))
1158
 
 
1159
 
 
1160
 
def _load_module_by_name(mod_name):
1161
 
    parts = mod_name.split('.')
1162
 
    module = __import__(mod_name)
1163
 
    del parts[0]
1164
 
    # for historical reasons python returns the top-level module even though
1165
 
    # it loads the submodule; we need to walk down to get the one we want.
1166
 
    while parts:
1167
 
        module = getattr(module, parts.pop(0))
1168
 
    return module
 
1143
    for test in iter_suite_tests(loader.loadTestsFromModuleNames(mods_list)):
 
1144
        suite.addTests(adapter.adapt(test))