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

  • Committer: Martin Pool
  • Date: 2009-03-23 07:25:27 UTC
  • mfrom: (4183 +trunk)
  • mto: This revision was merged to the branch mainline in revision 4189.
  • Revision ID: mbp@sourcefrog.net-20090323072527-317my4n8zej1g6v9
merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
764
764
    def __init__(self, methodName='testMethod'):
765
765
        super(TestCase, self).__init__(methodName)
766
766
        self._cleanups = []
 
767
        self._bzr_test_setUp_run = False
 
768
        self._bzr_test_tearDown_run = False
767
769
 
768
770
    def setUp(self):
769
771
        unittest.TestCase.setUp(self)
 
772
        self._bzr_test_setUp_run = True
770
773
        self._cleanEnvironment()
771
774
        self._silenceUI()
772
775
        self._startLogFile()
1014
1017
        path_stat = transport.stat(path)
1015
1018
        actual_mode = stat.S_IMODE(path_stat.st_mode)
1016
1019
        self.assertEqual(mode, actual_mode,
1017
 
            'mode of %r incorrect (%o != %o)' % (path, mode, actual_mode))
 
1020
                         'mode of %r incorrect (%s != %s)'
 
1021
                         % (path, oct(mode), oct(actual_mode)))
1018
1022
 
1019
1023
    def assertIsSameRealPath(self, path1, path2):
1020
1024
        """Fail if path1 and path2 points to different files"""
1326
1330
                try:
1327
1331
                    try:
1328
1332
                        self.setUp()
 
1333
                        if not self._bzr_test_setUp_run:
 
1334
                            self.fail(
 
1335
                                "test setUp did not invoke "
 
1336
                                "bzrlib.tests.TestCase's setUp")
1329
1337
                    except KeyboardInterrupt:
1330
1338
                        raise
1331
1339
                    except TestSkipped, e:
1355
1363
 
1356
1364
                    try:
1357
1365
                        self.tearDown()
 
1366
                        if not self._bzr_test_tearDown_run:
 
1367
                            self.fail(
 
1368
                                "test tearDown did not invoke "
 
1369
                                "bzrlib.tests.TestCase's tearDown")
1358
1370
                    except KeyboardInterrupt:
1359
1371
                        raise
1360
1372
                    except:
1379
1391
            self.__dict__ = saved_attrs
1380
1392
 
1381
1393
    def tearDown(self):
 
1394
        self._bzr_test_tearDown_run = True
1382
1395
        self._runCleanups()
1383
1396
        self._log_contents = ''
1384
1397
        unittest.TestCase.tearDown(self)
2947
2960
                   'bzrlib.tests.test_extract',
2948
2961
                   'bzrlib.tests.test_fetch',
2949
2962
                   'bzrlib.tests.test_fifo_cache',
 
2963
                   'bzrlib.tests.test_filters',
2950
2964
                   'bzrlib.tests.test_ftp_transport',
2951
2965
                   'bzrlib.tests.test_foreign',
2952
2966
                   'bzrlib.tests.test_generate_docs',
3408
3422
    return None
3409
3423
 
3410
3424
 
3411
 
class _FTPServerFeature(Feature):
3412
 
    """Some tests want an FTP Server, check if one is available.
3413
 
 
3414
 
    Right now, the only way this is available is if 'medusa' is installed.
3415
 
    http://www.amk.ca/python/code/medusa.html
3416
 
    """
3417
 
 
3418
 
    def _probe(self):
3419
 
        try:
3420
 
            import bzrlib.tests.ftp_server
3421
 
            return True
3422
 
        except ImportError:
3423
 
            return False
3424
 
 
3425
 
    def feature_name(self):
3426
 
        return 'FTPServer'
3427
 
 
3428
 
 
3429
 
FTPServerFeature = _FTPServerFeature()
3430
 
 
3431
 
 
3432
3425
class _HTTPSServerFeature(Feature):
3433
3426
    """Some tests want an https Server, check if one is available.
3434
3427
 
3534
3527
        return 'case-insensitive filesystem'
3535
3528
 
3536
3529
CaseInsensitiveFilesystemFeature = _CaseInsensitiveFilesystemFeature()
 
3530
 
 
3531
 
 
3532
class _SubUnitFeature(Feature):
 
3533
    """Check if subunit is available."""
 
3534
 
 
3535
    def _probe(self):
 
3536
        try:
 
3537
            import subunit
 
3538
            return True
 
3539
        except ImportError:
 
3540
            return False
 
3541
 
 
3542
    def feature_name(self):
 
3543
        return 'subunit'
 
3544
 
 
3545
SubUnitFeature = _SubUnitFeature()
 
3546
# Only define SubUnitBzrRunner if subunit is available.
 
3547
try:
 
3548
    from subunit import TestProtocolClient
 
3549
    class SubUnitBzrRunner(TextTestRunner):
 
3550
        def run(self, test):
 
3551
            # undo out claim for testing which looks like a test start to subunit
 
3552
            self.stream.write("success: %s\n" % (osutils.realpath(sys.argv[0]),))
 
3553
            result = TestProtocolClient(self.stream)
 
3554
            test.run(result)
 
3555
            return result
 
3556
except ImportError:
 
3557
    pass