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

  • Committer: Parth Malwankar
  • Date: 2010-07-14 08:35:26 UTC
  • mto: (5050.3.8 2.2)
  • mto: This revision was merged to the branch mainline in revision 5365.
  • Revision ID: parth.malwankar@gmail.com-20100714083526-f93tpevaig00o6x1
useĀ __subclasses__

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
        See bug #603461
43
43
        """
44
44
        fmt_pattern = re.compile("%\(message\)[sir]")
45
 
        for e, v in errors.__dict__.iteritems():
46
 
            init = None
47
 
            fmt = None
48
 
            if inspect.isclass(v) and issubclass(v, errors.BzrError):
49
 
                init = getattr(v, '__init__', None)
50
 
                fmt = getattr(v, '_fmt', None)
 
45
        for c in errors.BzrError.__subclasses__():
 
46
            init = getattr(c, '__init__', None)
 
47
            fmt = getattr(c, '_fmt', None)
51
48
            if init:
52
49
                args = inspect.getargspec(init)[0]
53
50
                self.assertFalse('message' in args,
54
51
                    ('Argument name "message" not allowed for '
55
 
                    '"errors.%s"' % e))
 
52
                    '"errors.%s.__init__"' % c.__name__))
56
53
            if fmt and fmt_pattern.search(fmt):
57
54
                self.assertFalse(True, ('"message" not allowed in '
58
 
                    '"errors.%s._fmt"' % e))
 
55
                    '"errors.%s._fmt"' % c.__name__))
59
56
 
60
57
    def test_bad_filename_encoding(self):
61
58
        error = errors.BadFilenameEncoding('bad/filen\xe5me', 'UTF-8')