Merge lp://staging/~jr/bzr/274578-smart-server-hookable-error-logging into lp://staging/bzr
Proposed by
Jonathan Riddell
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Jonathan Riddell | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 5927 | ||||
Proposed branch: | lp://staging/~jr/bzr/274578-smart-server-hookable-error-logging | ||||
Merge into: | lp://staging/bzr | ||||
Diff against target: |
94 lines (+35/-4) 3 files modified
bzrlib/smart/server.py (+12/-3) bzrlib/tests/blackbox/test_serve.py (+19/-1) doc/en/release-notes/bzr-2.4.txt (+4/-0) |
||||
To merge this branch: | bzr merge lp://staging/~jr/bzr/274578-smart-server-hookable-error-logging | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Vincent Ladeuil | Needs Fixing | ||
Review via email: mp+62135@code.staging.launchpad.net |
Commit message
New hook server_exception in bzrlib.smart.server to catch any exception caused while running bzr serve. (Jonathan Riddell, #274578)
Description of the change
Add "server_exception" hook for bug 61728. When an exception occurs it calls the hook with sys.exc_info(). If the hook returns false or there is no hook is raises the exception as normal.
To post a comment you must log in.
Looks good, thanks !
One small nit:
70 + args = [] bzr_serve_ then_func( args, retcode=3)
71 + out, err = self.run_
This checks that the server dies when no hook is installed (before testing the hook itself).
It would be even better to do that in a separate test to get a better defect localization (see http:// xunitpatterns. com/Goals% 20of%20Test% 20Automation. html).
You also need to add a news entry (make sure to remerge trunk so you get the right section in the release-notes file).
BB:tweak ;)