~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_selftest.py

(jameinel) Merge 2.4 into 2.5,
 and resolve a few conflicts wrt extract_format_string(). (John A Meinel)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1653
1653
        self.assertRaises(AssertionError,
1654
1654
            self.assertListRaises, _TestException, success_generator)
1655
1655
 
 
1656
    def _run_successful_test(self, test):
 
1657
        result = testtools.TestResult()
 
1658
        test.run(result)
 
1659
        self.assertTrue(result.wasSuccessful())
 
1660
        return result
 
1661
 
1656
1662
    def test_overrideAttr_without_value(self):
1657
1663
        self.test_attr = 'original' # Define a test attribute
1658
1664
        obj = self # Make 'obj' visible to the embedded test
1668
1674
                obj.test_attr = 'modified'
1669
1675
                self.assertEqual('modified', obj.test_attr)
1670
1676
 
1671
 
        test = Test('test_value')
1672
 
        test.run(unittest.TestResult())
 
1677
        self._run_successful_test(Test('test_value'))
1673
1678
        self.assertEqual('original', obj.test_attr)
1674
1679
 
1675
1680
    def test_overrideAttr_with_value(self):
1685
1690
                self.assertEqual('original', self.orig)
1686
1691
                self.assertEqual('modified', obj.test_attr)
1687
1692
 
1688
 
        test = Test('test_value')
1689
 
        test.run(unittest.TestResult())
 
1693
        self._run_successful_test(Test('test_value'))
1690
1694
        self.assertEqual('original', obj.test_attr)
1691
1695
 
 
1696
    def test_overrideAttr_with_no_existing_value_and_value(self):
 
1697
        # Do not define the test_attribute
 
1698
        obj = self # Make 'obj' visible to the embedded test
 
1699
        class Test(tests.TestCase):
 
1700
 
 
1701
            def setUp(self):
 
1702
                tests.TestCase.setUp(self)
 
1703
                self.orig = self.overrideAttr(obj, 'test_attr', new='modified')
 
1704
 
 
1705
            def test_value(self):
 
1706
                self.assertEqual(tests._unitialized_attr, self.orig)
 
1707
                self.assertEqual('modified', obj.test_attr)
 
1708
 
 
1709
        self._run_successful_test(Test('test_value'))
 
1710
        self.assertRaises(AttributeError, getattr, obj, 'test_attr')
 
1711
 
 
1712
    def test_overrideAttr_with_no_existing_value_and_no_value(self):
 
1713
        # Do not define the test_attribute
 
1714
        obj = self # Make 'obj' visible to the embedded test
 
1715
        class Test(tests.TestCase):
 
1716
 
 
1717
            def setUp(self):
 
1718
                tests.TestCase.setUp(self)
 
1719
                self.orig = self.overrideAttr(obj, 'test_attr')
 
1720
 
 
1721
            def test_value(self):
 
1722
                self.assertEqual(tests._unitialized_attr, self.orig)
 
1723
                self.assertRaises(AttributeError, getattr, obj, 'test_attr')
 
1724
 
 
1725
        self._run_successful_test(Test('test_value'))
 
1726
        self.assertRaises(AttributeError, getattr, obj, 'test_attr')
 
1727
 
1692
1728
    def test_recordCalls(self):
1693
1729
        from bzrlib.tests import test_selftest
1694
1730
        calls = self.recordCalls(