38
from bzrlib.tests.test_sftp_transport import TestCaseWithSFTPServer
37
39
from bzrlib.tests.TestUtil import _load_module_by_name
38
40
import bzrlib.errors as errors
39
41
from bzrlib import symbol_versioning
40
42
from bzrlib.symbol_versioning import zero_ten, zero_eleven
41
43
from bzrlib.trace import note
44
from bzrlib.transport.memory import MemoryServer, MemoryTransport
42
45
from bzrlib.version import _get_bzr_source_tree
474
478
self.assertRaises(AssertionError, self.assertIsDirectory, 'not_here', t)
481
class TestTestCaseTransports(TestCaseWithTransport):
484
super(TestTestCaseTransports, self).setUp()
485
self.transport_server = MemoryServer
487
def test_make_bzrdir_preserves_transport(self):
488
t = self.get_transport()
489
result_bzrdir = self.make_bzrdir('subdir')
490
self.assertIsInstance(result_bzrdir.transport,
492
# should not be on disk, should only be in memory
493
self.failIfExists('subdir')
477
496
class TestChrootedTest(ChrootedTestCase):
479
498
def test_root_is_root(self):
732
751
revision_id = workingtree.get_parent_ids()[0]
733
752
self.assertEndsWith(output_string.rstrip(), revision_id)
754
def test_success_log_deleted(self):
755
"""Successful tests have their log deleted"""
757
class LogTester(TestCase):
759
def test_success(self):
760
self.log('this will be removed\n')
762
sio = cStringIO.StringIO()
763
runner = TextTestRunner(stream=sio)
764
test = LogTester('test_success')
765
result = self.run_test_runner(runner, test)
767
log = test._get_log()
768
self.assertEqual("DELETED log file to reduce memory footprint", log)
769
self.assertEqual('', test._log_contents)
770
self.assertIs(None, test._log_file_name)
772
def test_fail_log_kept(self):
773
"""Failed tests have their log kept"""
775
class LogTester(TestCase):
778
self.log('this will be kept\n')
779
self.fail('this test fails')
781
sio = cStringIO.StringIO()
782
runner = TextTestRunner(stream=sio)
783
test = LogTester('test_fail')
784
result = self.run_test_runner(runner, test)
786
text = sio.getvalue()
787
self.assertContainsRe(text, 'this will be kept')
788
self.assertContainsRe(text, 'this test fails')
790
log = test._get_log()
791
self.assertContainsRe(log, 'this will be kept')
792
self.assertEqual(log, test._log_contents)
794
def test_error_log_kept(self):
795
"""Tests with errors have their log kept"""
797
class LogTester(TestCase):
799
def test_error(self):
800
self.log('this will be kept\n')
801
raise ValueError('random exception raised')
803
sio = cStringIO.StringIO()
804
runner = TextTestRunner(stream=sio)
805
test = LogTester('test_error')
806
result = self.run_test_runner(runner, test)
808
text = sio.getvalue()
809
self.assertContainsRe(text, 'this will be kept')
810
self.assertContainsRe(text, 'random exception raised')
812
log = test._get_log()
813
self.assertContainsRe(log, 'this will be kept')
814
self.assertEqual(log, test._log_contents)
736
817
class TestTestCase(TestCase):
737
818
"""Tests that test the core bzrlib TestCase."""
903
984
self.assertIsInstance(bzrlib.bzrdir.BzrDir.open('b')._format,
904
985
bzrlib.bzrdir.BzrDirFormat6)
987
def test_make_branch_and_mutable_tree(self):
988
# we should be able to get a new branch and a mutable tree from
989
# TestCaseWithTransport
990
tree = self.make_branch_and_memory_tree('a')
991
self.assertIsInstance(tree, bzrlib.memorytree.MemoryTree)
994
class TestSFTPMakeBranchAndTree(TestCaseWithSFTPServer):
996
def test_make_tree_for_sftp_branch(self):
997
"""Transports backed by local directories create local trees."""
999
tree = self.make_branch_and_tree('t1')
1000
base = tree.bzrdir.root_transport.base
1001
self.failIf(base.startswith('sftp'),
1002
'base %r is on sftp but should be local' % base)
1003
self.assertEquals(tree.bzrdir.root_transport,
1004
tree.branch.bzrdir.root_transport)
1005
self.assertEquals(tree.bzrdir.root_transport,
1006
tree.branch.repository.bzrdir.root_transport)
907
1009
class TestSelftest(TestCase):
908
1010
"""Tests of bzrlib.tests.selftest."""