/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/test_selftest.py

  • Committer: Martin Pool
  • Date: 2010-02-09 19:04:02 UTC
  • mfrom: (5010 +trunk)
  • mto: This revision was merged to the branch mainline in revision 5019.
  • Revision ID: mbp@canonical.com-20100209190402-2xbzrchmb4dfi2j7
Resolve conflicts with trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
754
754
    def _patch_get_bzr_source_tree(self):
755
755
        # Reading from the actual source tree breaks isolation, but we don't
756
756
        # want to assume that thats *all* that would happen.
757
 
        def _get_bzr_source_tree():
758
 
            return None
759
 
        orig_get_bzr_source_tree = bzrlib.version._get_bzr_source_tree
760
 
        bzrlib.version._get_bzr_source_tree = _get_bzr_source_tree
761
 
        def restore():
762
 
            bzrlib.version._get_bzr_source_tree = orig_get_bzr_source_tree
763
 
        self.addCleanup(restore)
 
757
        self.overrideAttr(bzrlib.version, '_get_bzr_source_tree', lambda: None)
764
758
 
765
759
    def test_assigned_benchmark_file_stores_date(self):
766
760
        self._patch_get_bzr_source_tree()
1057
1051
            '(?sm)^bzr selftest.*$'
1058
1052
            '.*'
1059
1053
            '^======================================================================\n'
1060
 
            '^FAIL: unittest.FunctionTestCase \\(failing_test\\)\n'
 
1054
            '^FAIL: failing_test\n'
1061
1055
            '^----------------------------------------------------------------------\n'
1062
1056
            'Traceback \\(most recent call last\\):\n'
1063
1057
            '  .*' # File .*, line .*, in failing_test' - but maybe not from .pyc
1201
1195
        # Reading from the actual source tree breaks isolation, but we don't
1202
1196
        # want to assume that thats *all* that would happen.
1203
1197
        self._get_source_tree_calls = []
1204
 
        def _get_bzr_source_tree():
 
1198
        def new_get():
1205
1199
            self._get_source_tree_calls.append("called")
1206
1200
            return None
1207
 
        orig_get_bzr_source_tree = bzrlib.version._get_bzr_source_tree
1208
 
        bzrlib.version._get_bzr_source_tree = _get_bzr_source_tree
1209
 
        def restore():
1210
 
            bzrlib.version._get_bzr_source_tree = orig_get_bzr_source_tree
1211
 
        self.addCleanup(restore)
 
1201
        self.overrideAttr(bzrlib.version, '_get_bzr_source_tree',  new_get)
1212
1202
 
1213
1203
    def test_bench_history(self):
1214
1204
        # tests that the running the benchmark passes bench_history into
1322
1312
        self.assertEqual(flags, bzrlib.debug.debug_flags)
1323
1313
 
1324
1314
    def change_selftest_debug_flags(self, new_flags):
1325
 
        orig_selftest_flags = tests.selftest_debug_flags
1326
 
        self.addCleanup(self._restore_selftest_debug_flags, orig_selftest_flags)
1327
 
        tests.selftest_debug_flags = set(new_flags)
1328
 
 
1329
 
    def _restore_selftest_debug_flags(self, flags):
1330
 
        tests.selftest_debug_flags = flags
 
1315
        self.overrideAttr(tests, 'selftest_debug_flags', set(new_flags))
1331
1316
 
1332
1317
    def test_allow_debug_flag(self):
1333
1318
        """The -Eallow_debug flag prevents bzrlib.debug.debug_flags from being
1634
1619
        self.assertRaises(AssertionError,
1635
1620
            self.assertListRaises, _TestException, success_generator)
1636
1621
 
 
1622
    def test_overrideAttr_without_value(self):
 
1623
        self.test_attr = 'original' # Define a test attribute
 
1624
        obj = self # Make 'obj' visible to the embedded test
 
1625
        class Test(tests.TestCase):
 
1626
 
 
1627
            def setUp(self):
 
1628
                tests.TestCase.setUp(self)
 
1629
                self.orig = self.overrideAttr(obj, 'test_attr')
 
1630
 
 
1631
            def test_value(self):
 
1632
                self.assertEqual('original', self.orig)
 
1633
                self.assertEqual('original', obj.test_attr)
 
1634
                obj.test_attr = 'modified'
 
1635
                self.assertEqual('modified', obj.test_attr)
 
1636
 
 
1637
        test = Test('test_value')
 
1638
        test.run(unittest.TestResult())
 
1639
        self.assertEqual('original', obj.test_attr)
 
1640
 
 
1641
    def test_overrideAttr_with_value(self):
 
1642
        self.test_attr = 'original' # Define a test attribute
 
1643
        obj = self # Make 'obj' visible to the embedded test
 
1644
        class Test(tests.TestCase):
 
1645
 
 
1646
            def setUp(self):
 
1647
                tests.TestCase.setUp(self)
 
1648
                self.orig = self.overrideAttr(obj, 'test_attr', new='modified')
 
1649
 
 
1650
            def test_value(self):
 
1651
                self.assertEqual('original', self.orig)
 
1652
                self.assertEqual('modified', obj.test_attr)
 
1653
 
 
1654
        test = Test('test_value')
 
1655
        test.run(unittest.TestResult())
 
1656
        self.assertEqual('original', obj.test_attr)
 
1657
 
1637
1658
 
1638
1659
# NB: Don't delete this; it's not actually from 0.11!
1639
1660
@deprecated_function(deprecated_in((0, 11, 0)))
2379
2400
 
2380
2401
 
2381
2402
simple_thunk_feature = tests._CompatabilityThunkFeature(
2382
 
    'bzrlib.tests', 'UnicodeFilename',
2383
 
    'bzrlib.tests.test_selftest.simple_thunk_feature',
2384
 
    deprecated_in((2,1,0)))
 
2403
    deprecated_in((2, 1, 0)),
 
2404
    'bzrlib.tests.test_selftest',
 
2405
    'simple_thunk_feature','UnicodeFilename',
 
2406
    replacement_module='bzrlib.tests'
 
2407
    )
2385
2408
 
2386
2409
class Test_CompatibilityFeature(tests.TestCase):
2387
2410
 
2392
2415
            simple_thunk_feature.available)
2393
2416
        self.assertEqual(tests.UnicodeFilename.available(), res)
2394
2417
 
2395
 
        
 
2418
 
2396
2419
class TestModuleAvailableFeature(tests.TestCase):
2397
2420
 
2398
2421
    def test_available_module(self):
2763
2786
        # test doubles that supply a few sample tests to load, and check they
2764
2787
        # are loaded.
2765
2788
        calls = []
2766
 
        def _test_suite_testmod_names():
 
2789
        def testmod_names():
2767
2790
            calls.append("testmod_names")
2768
2791
            return [
2769
2792
                'bzrlib.tests.blackbox.test_branch',
2770
2793
                'bzrlib.tests.per_transport',
2771
2794
                'bzrlib.tests.test_selftest',
2772
2795
                ]
2773
 
        original_testmod_names = tests._test_suite_testmod_names
2774
 
        def _test_suite_modules_to_doctest():
 
2796
        self.overrideAttr(tests, '_test_suite_testmod_names', testmod_names)
 
2797
        def doctests():
2775
2798
            calls.append("modules_to_doctest")
2776
2799
            return ['bzrlib.timestamp']
2777
 
        orig_modules_to_doctest = tests._test_suite_modules_to_doctest
2778
 
        def restore_names():
2779
 
            tests._test_suite_testmod_names = original_testmod_names
2780
 
            tests._test_suite_modules_to_doctest = orig_modules_to_doctest
2781
 
        self.addCleanup(restore_names)
2782
 
        tests._test_suite_testmod_names = _test_suite_testmod_names
2783
 
        tests._test_suite_modules_to_doctest = _test_suite_modules_to_doctest
 
2800
        self.overrideAttr(tests, '_test_suite_modules_to_doctest', doctests)
2784
2801
        expected_test_list = [
2785
2802
            # testmod_names
2786
2803
            'bzrlib.tests.blackbox.test_branch.TestBranch.test_branch',