/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: John Arbash Meinel
  • Date: 2007-04-23 19:23:14 UTC
  • mfrom: (2446 +trunk)
  • mto: This revision was merged to the branch mainline in revision 2456.
  • Revision ID: john@arbash-meinel.com-20070423192314-y2x7sr7yupacqglk
[merge] bzr.dev 2446

Show diffs side-by-side

added added

removed removed

Lines of Context:
49
49
                          TestSuite,
50
50
                          TextTestRunner,
51
51
                          UnavailableFeature,
 
52
                          clean_selftest_output,
52
53
                          )
53
54
from bzrlib.tests.test_sftp_transport import TestCaseWithSFTPServer
54
55
from bzrlib.tests.TestUtil import _load_module_by_name
192
193
        from bzrlib.bzrdir import BzrDirTestProviderAdapter
193
194
        input_test = TestBzrDirProviderAdapter(
194
195
            "test_adapted_tests")
 
196
        vfs_factory = "v"
195
197
        server1 = "a"
196
198
        server2 = "b"
197
199
        formats = ["c", "d"]
198
 
        adapter = BzrDirTestProviderAdapter(server1, server2, formats)
 
200
        adapter = BzrDirTestProviderAdapter(vfs_factory,
 
201
            server1, server2, formats)
199
202
        suite = adapter.adapt(input_test)
200
203
        tests = list(iter(suite))
201
204
        self.assertEqual(2, len(tests))
202
205
        self.assertEqual(tests[0].bzrdir_format, formats[0])
 
206
        self.assertEqual(tests[0].vfs_transport_factory, vfs_factory)
203
207
        self.assertEqual(tests[0].transport_server, server1)
204
208
        self.assertEqual(tests[0].transport_readonly_server, server2)
205
209
        self.assertEqual(tests[1].bzrdir_format, formats[1])
 
210
        self.assertEqual(tests[1].vfs_transport_factory, vfs_factory)
206
211
        self.assertEqual(tests[1].transport_server, server1)
207
212
        self.assertEqual(tests[1].transport_readonly_server, server2)
208
213
 
232
237
        self.assertEqual(tests[1].transport_server, server1)
233
238
        self.assertEqual(tests[1].transport_readonly_server, server2)
234
239
 
 
240
    def test_setting_vfs_transport(self):
 
241
        """The vfs_transport_factory can be set optionally."""
 
242
        from bzrlib.repository import RepositoryTestProviderAdapter
 
243
        input_test = TestRepositoryProviderAdapter(
 
244
            "test_adapted_tests")
 
245
        formats = [("c", "C")]
 
246
        adapter = RepositoryTestProviderAdapter(None, None, formats,
 
247
            vfs_transport_factory="vfs")
 
248
        suite = adapter.adapt(input_test)
 
249
        tests = list(iter(suite))
 
250
        self.assertEqual(1, len(tests))
 
251
        self.assertEqual(tests[0].vfs_transport_factory, "vfs")
 
252
 
235
253
 
236
254
class TestInterRepositoryProviderAdapter(TestCase):
237
255
    """A group of tests that test the InterRepository test adapter."""
738
756
        result.report_known_failure(test, err)
739
757
        output = result_stream.getvalue()[prefix:]
740
758
        lines = output.splitlines()
741
 
        self.assertEqual(lines, ['XFAIL                   0ms', '    foo'])
742
 
    
 
759
        self.assertContainsRe(lines[0], r'XFAIL *\d+ms$')
 
760
        self.assertEqual(lines[1], '    foo')
 
761
        self.assertEqual(2, len(lines))
 
762
 
743
763
    def test_text_report_known_failure(self):
744
764
        # text test output formatting
745
765
        pb = MockProgress()
932
952
        stream = StringIO()
933
953
        runner = TextTestRunner(stream=stream)
934
954
        result = self.run_test_runner(runner, test)
935
 
        self.assertEqual(
936
 
            '\n'
937
 
            '----------------------------------------------------------------------\n'
938
 
            'Ran 1 test in 0.000s\n'
939
 
            '\n'
940
 
            'OK (known_failures=1)\n',
941
 
            stream.getvalue())
 
955
        self.assertContainsRe(stream.getvalue(),
 
956
            '\n'
 
957
            '-*\n'
 
958
            'Ran 1 test in .*\n'
 
959
            '\n'
 
960
            'OK \\(known_failures=1\\)\n')
942
961
 
943
962
    def test_skipped_test(self):
944
963
        # run a test that is skipped, and check the suite as a whole still
1396
1415
 
1397
1416
    def test_clean_output(self):
1398
1417
        # test functionality of clean_selftest_output()
1399
 
        from bzrlib.tests import clean_selftest_output
1400
 
 
1401
 
        dirs = ('test0000.tmp', 'test0001.tmp', 'bzrlib', 'tests')
1402
 
        files = ('bzr', 'setup.py', 'test9999.tmp')
1403
 
        for i in dirs:
1404
 
            os.mkdir(i)
1405
 
        for i in files:
1406
 
            f = file(i, 'wb')
1407
 
            f.write('content of ')
1408
 
            f.write(i)
1409
 
            f.close()
 
1418
        self.build_tree(['test0000.tmp/', 'test0001.tmp/',
 
1419
                         'bzrlib/', 'tests/',
 
1420
                         'bzr', 'setup.py', 'test9999.tmp'])
1410
1421
 
1411
1422
        root = os.getcwdu()
1412
1423
        before = os.listdir(root)
1422
1433
                           'test9999.tmp','tests'],
1423
1434
                           after)
1424
1435
 
 
1436
    def test_clean_readonly(self):
 
1437
        # test for delete read-only files
 
1438
        self.build_tree(['test0000.tmp/', 'test0000.tmp/foo'])
 
1439
        osutils.make_readonly('test0000.tmp/foo')
 
1440
        root = os.getcwdu()
 
1441
        before = os.listdir(root);  before.sort()
 
1442
        self.assertEquals(['test0000.tmp'], before)
 
1443
        clean_selftest_output(root, quiet=True)
 
1444
        after = os.listdir(root);   after.sort()
 
1445
        self.assertEquals([], after)
 
1446
 
1425
1447
 
1426
1448
class TestKnownFailure(TestCase):
1427
1449