~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_source.py

Change 'no except' to 'cannot_raise'

Show diffs side-by-side

added added

removed removed

Lines of Context:
374
374
        """Extension functions should propagate exceptions.
375
375
 
376
376
        Either they should return an object, have an 'except' clause, or have a
377
 
        #no except to indicate that we've audited them and defined them as not
 
377
        "# cannot_raise" to indicate that we've audited them and defined them as not
378
378
        raising exceptions.
379
379
        """
380
380
        both_exc_and_no_exc = []
385
385
                               r'(\w+)\s*\(' # the function name
386
386
                               r'[^)]*\)\s*' # parameters
387
387
                               r'(.*)\s*:' # the except clause
388
 
                               r'\s*(#\s*no except)?' # no except comment
 
388
                               r'\s*(#\s*cannot[- _]raise)?' # cannot raise comment
389
389
                              )
390
390
        for fname, text in self.get_source_file_contents(
391
391
                extensions=('.pyx',)):
400
400
                    missing_except.append((fname, func))
401
401
        error_msg = []
402
402
        if both_exc_and_no_exc:
403
 
            error_msg.append('The following functions had no except comments'
 
403
            error_msg.append('The following functions had "cannot raise" comments'
404
404
                             ' but did have an except clause set:')
405
405
            for fname, func in both_exc_and_no_exc:
406
406
                error_msg.append('%s:%s' % (fname, func))
408
408
        if missing_except:
409
409
            error_msg.append('The following functions have fixed return types,'
410
410
                             ' but no except clause.')
411
 
            error_msg.append('Either add an except or append "# no except".')
 
411
            error_msg.append('Either add an except or append "# cannot_raise".')
412
412
            for fname, func in missing_except:
413
413
                error_msg.append('%s:%s' % (fname, func))
414
414
            error_msg.extend(('', ''))