~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/per_branch/test_hooks.py

  • Committer: Robert Collins
  • Date: 2010-01-08 05:28:17 UTC
  • mto: This revision was merged to the branch mainline in revision 4944.
  • Revision ID: robertc@robertcollins.net-20100108052817-qt0ubq2sat7f08pt
Do not fiddle with exceptions in the pre_change_branch_tip hook running code.

Show diffs side-by-side

added added

removed removed

Lines of Context:
208
208
        branch.set_last_revision_info(0, NULL_REVISION)
209
209
 
210
210
    def test_hook_failure_prevents_change(self):
211
 
        """If a hook raises an exception, the change does not take effect.
212
 
 
213
 
        Also, a HookFailed exception will be raised.
214
 
        """
 
211
        """If a hook raises an exception, the change does not take effect."""
215
212
        branch = self.make_branch_with_revision_ids(
216
213
            'one-\xc2\xb5', 'two-\xc2\xb5')
217
214
        class PearShapedError(Exception):
221
218
        Branch.hooks.install_named_hook(
222
219
            'pre_change_branch_tip', hook_that_raises, None)
223
220
        hook_failed_exc = self.assertRaises(
224
 
            HookFailed, branch.set_last_revision_info, 0, NULL_REVISION)
225
 
        self.assertIsInstance(hook_failed_exc.exc_value, PearShapedError)
 
221
            PearShapedError, branch.set_last_revision_info, 0, NULL_REVISION)
226
222
        # The revision info is unchanged.
227
223
        self.assertEqual((2, 'two-\xc2\xb5'), branch.last_revision_info())
228
224