~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_selftest.py

  • Committer: Robert Collins
  • Date: 2009-08-23 23:20:33 UTC
  • mto: This revision was merged to the branch mainline in revision 4640.
  • Revision ID: robertc@robertcollins.net-20090823232033-bz1c16hevpt5hkem
Fix selftest tests for --transport to test each layer precisely.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1784
1784
    def run_selftest(self, **kwargs):
1785
1785
        """Run selftest returning its output."""
1786
1786
        output = StringIO()
1787
 
        self.assertEqual(True, tests.selftest(stream=output, **kwargs))
 
1787
        old_transport = bzrlib.tests.default_transport
 
1788
        old_root = tests.TestCaseWithMemoryTransport.TEST_ROOT
 
1789
        tests.TestCaseWithMemoryTransport.TEST_ROOT = None
 
1790
        try:
 
1791
            self.assertEqual(True, tests.selftest(stream=output, **kwargs))
 
1792
        finally:
 
1793
            bzrlib.tests.default_transport = old_transport
 
1794
            tests.TestCaseWithMemoryTransport.TEST_ROOT = old_root
1788
1795
        output.seek(0)
1789
1796
        return output
1790
1797
 
1824
1831
            list_only=True, random_seed="123")
1825
1832
        self.assertEqual(expected.getvalue(), repeated.getvalue())
1826
1833
 
 
1834
    def check_transport_set(self, transport_server):
 
1835
        captured_transport = []
 
1836
        def seen_transport(a_transport):
 
1837
            captured_transport.append(a_transport)
 
1838
        class Capture(tests.TestCase):
 
1839
            def a(self):
 
1840
                seen_transport(bzrlib.tests.default_transport)
 
1841
        def factory():
 
1842
            return TestUtil.TestSuite([Capture("a")])
 
1843
        self.run_selftest(transport=transport_server, test_suite_factory=factory)
 
1844
        self.assertEqual(transport_server, captured_transport[0])
 
1845
 
 
1846
    def test_transport_sftp(self):
 
1847
        try:
 
1848
            import bzrlib.transport.sftp
 
1849
        except ParamikoNotPresent:
 
1850
            raise TestSkipped("Paramiko not present")
 
1851
        self.check_transport_set(bzrlib.transport.sftp.SFTPAbsoluteServer)
 
1852
 
 
1853
    def test_transport_memory(self):
 
1854
        self.check_transport_set(bzrlib.transport.memory.MemoryServer)
 
1855
 
1827
1856
 
1828
1857
class TestKnownFailure(tests.TestCase):
1829
1858