~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/__init__.py

Merge bzr.dev 4187, and revert the change to fix refcycle issues.

I apparently didn't run the smart fetch tests. Which show that we access inv+chk pages
as a fulltext, and then insert the stream, which expects to get the block as a compressed
block. :(.
Need to rethink how to do it, possibly with weakrefs.


This also brings in CommitBuilder.record_iter_changes() and the updates to btree_index
and backing indices.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1017
1017
        path_stat = transport.stat(path)
1018
1018
        actual_mode = stat.S_IMODE(path_stat.st_mode)
1019
1019
        self.assertEqual(mode, actual_mode,
1020
 
            'mode of %r incorrect (%o != %o)' % (path, mode, actual_mode))
 
1020
                         'mode of %r incorrect (%s != %s)'
 
1021
                         % (path, oct(mode), oct(actual_mode)))
1021
1022
 
1022
1023
    def assertIsSameRealPath(self, path1, path2):
1023
1024
        """Fail if path1 and path2 points to different files"""
1249
1250
            # bzr now uses the Win32 API and doesn't rely on APPDATA, but the
1250
1251
            # tests do check our impls match APPDATA
1251
1252
            'BZR_EDITOR': None, # test_msgeditor manipulates this variable
 
1253
            'VISUAL': None,
 
1254
            'EDITOR': None,
1252
1255
            'BZR_EMAIL': None,
1253
1256
            'BZREMAIL': None, # may still be present in the environment
1254
1257
            'EMAIL': None,
2963
2966
                   'bzrlib.tests.test_extract',
2964
2967
                   'bzrlib.tests.test_fetch',
2965
2968
                   'bzrlib.tests.test_fifo_cache',
 
2969
                   'bzrlib.tests.test_filters',
2966
2970
                   'bzrlib.tests.test_ftp_transport',
2967
2971
                   'bzrlib.tests.test_foreign',
2968
2972
                   'bzrlib.tests.test_generate_docs',
3426
3430
    return None
3427
3431
 
3428
3432
 
3429
 
class _FTPServerFeature(Feature):
3430
 
    """Some tests want an FTP Server, check if one is available.
3431
 
 
3432
 
    Right now, the only way this is available is if 'medusa' is installed.
3433
 
    http://www.amk.ca/python/code/medusa.html
3434
 
    """
3435
 
 
3436
 
    def _probe(self):
3437
 
        try:
3438
 
            import bzrlib.tests.ftp_server
3439
 
            return True
3440
 
        except ImportError:
3441
 
            return False
3442
 
 
3443
 
    def feature_name(self):
3444
 
        return 'FTPServer'
3445
 
 
3446
 
 
3447
 
FTPServerFeature = _FTPServerFeature()
3448
 
 
3449
 
 
3450
3433
class _HTTPSServerFeature(Feature):
3451
3434
    """Some tests want an https Server, check if one is available.
3452
3435
 
3552
3535
        return 'case-insensitive filesystem'
3553
3536
 
3554
3537
CaseInsensitiveFilesystemFeature = _CaseInsensitiveFilesystemFeature()
 
3538
 
 
3539
 
 
3540
class _SubUnitFeature(Feature):
 
3541
    """Check if subunit is available."""
 
3542
 
 
3543
    def _probe(self):
 
3544
        try:
 
3545
            import subunit
 
3546
            return True
 
3547
        except ImportError:
 
3548
            return False
 
3549
 
 
3550
    def feature_name(self):
 
3551
        return 'subunit'
 
3552
 
 
3553
SubUnitFeature = _SubUnitFeature()
 
3554
# Only define SubUnitBzrRunner if subunit is available.
 
3555
try:
 
3556
    from subunit import TestProtocolClient
 
3557
    class SubUnitBzrRunner(TextTestRunner):
 
3558
        def run(self, test):
 
3559
            # undo out claim for testing which looks like a test start to subunit
 
3560
            self.stream.write("success: %s\n" % (osutils.realpath(sys.argv[0]),))
 
3561
            result = TestProtocolClient(self.stream)
 
3562
            test.run(result)
 
3563
            return result
 
3564
except ImportError:
 
3565
    pass