/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

Merge shell-like-tests into description

Show diffs side-by-side

added added

removed removed

Lines of Context:
53
53
from bzrlib import (
54
54
    branchbuilder,
55
55
    bzrdir,
 
56
    config,
56
57
    debug,
57
58
    errors,
58
59
    hooks,
298
299
        elif isinstance(err[1], UnavailableFeature):
299
300
            return self.addNotSupported(test, err[1].args[0])
300
301
        else:
 
302
            self._post_mortem()
301
303
            unittest.TestResult.addError(self, test, err)
302
304
            self.error_count += 1
303
305
            self.report_error(test, err)
315
317
        if isinstance(err[1], KnownFailure):
316
318
            return self._addKnownFailure(test, err)
317
319
        else:
 
320
            self._post_mortem()
318
321
            unittest.TestResult.addFailure(self, test, err)
319
322
            self.failure_count += 1
320
323
            self.report_failure(test, err)
404
407
            self.stream.writeln(self.separator2)
405
408
            self.stream.writeln("%s" % err)
406
409
 
 
410
    def _post_mortem(self):
 
411
        """Start a PDB post mortem session."""
 
412
        if os.environ.get('BZR_TEST_PDB', None):
 
413
            import pdb;pdb.post_mortem()
 
414
 
407
415
    def progress(self, offset, whence):
408
416
        """The test is adjusting the count of tests to run."""
409
417
        if whence == SUBUNIT_SEEK_SET:
982
990
            return
983
991
        if message is None:
984
992
            message = "texts not equal:\n"
 
993
        if a + '\n' == b:
 
994
            message = 'first string is missing a final newline.\n'
985
995
        if a == b + '\n':
986
 
            message = 'first string is missing a final newline.\n'
987
 
        if a + '\n' == b:
988
996
            message = 'second string is missing a final newline.\n'
989
997
        raise AssertionError(message +
990
998
                             self._ndiff_strings(a, b))
2554
2562
        super(TestCaseWithTransport, self).setUp()
2555
2563
        self.__vfs_server = None
2556
2564
 
 
2565
    def disable_missing_extensions_warning(self):
 
2566
        """Some tests expect a precise stderr content.
 
2567
 
 
2568
        There is no point in forcing them to duplicate the extension related
 
2569
        warning.
 
2570
        """
 
2571
        config.GlobalConfig().set_user_option('ignore_missing_extensions', True)
 
2572
 
2557
2573
 
2558
2574
class ChrootedTestCase(TestCaseWithTransport):
2559
2575
    """A support class that provides readonly urls outside the local namespace.