~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/__init__.py

override TestCase.assertRaises to return the exception

Show diffs side-by-side

added added

removed removed

Lines of Context:
793
793
                excName = str(excClass)
794
794
            raise self.failureException, "%s not raised" % excName
795
795
 
 
796
    def assertRaises(self, excClass, func, *args, **kwargs):
 
797
        """Assert that a callable raises a particular exception.
 
798
 
 
799
        Returns the exception so that you can examine it.
 
800
        """
 
801
        try:
 
802
            func(*args, **kwargs)
 
803
        except excClass, e:
 
804
            return e
 
805
        else:
 
806
            if getattr(excClass,'__name__', None) is not None:
 
807
                excName = excClass.__name__
 
808
            else:
 
809
                excName = str(excClass)
 
810
            raise self.failureException, "%s not raised" % excName
 
811
 
796
812
    def assertIs(self, left, right, message=None):
797
813
        if not (left is right):
798
814
            if message is not None: