Mercurial > hg
comparison tests/test-fncache.t @ 26587:56b2bcea2529
error: get Abort from 'error' instead of 'util'
The home of 'Abort' is 'error' not 'util' however, a lot of code seems to be
confused about that and gives all the credit to 'util' instead of the
hardworking 'error'. In a spirit of equity, we break the cycle of injustice and
give back to 'error' the respect it deserves. And screw that 'util' poser.
For great justice.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 08 Oct 2015 12:55:45 -0700 |
parents | ca778cbe94f3 |
children | 4414d500604f |
comparison
equal
deleted
inserted
replaced
26586:d51c658d3f04 | 26587:56b2bcea2529 |
---|---|
200 | 200 |
201 Aborting lock does not prevent fncache writes | 201 Aborting lock does not prevent fncache writes |
202 | 202 |
203 $ cat > exceptionext.py <<EOF | 203 $ cat > exceptionext.py <<EOF |
204 > import os | 204 > import os |
205 > from mercurial import commands, util | 205 > from mercurial import commands, error |
206 > from mercurial.extensions import wrapfunction | 206 > from mercurial.extensions import wrapfunction |
207 > | 207 > |
208 > def lockexception(orig, vfs, lockname, wait, releasefn, *args, **kwargs): | 208 > def lockexception(orig, vfs, lockname, wait, releasefn, *args, **kwargs): |
209 > def releasewrap(): | 209 > def releasewrap(): |
210 > raise util.Abort("forced lock failure") | 210 > raise error.Abort("forced lock failure") |
211 > return orig(vfs, lockname, wait, releasewrap, *args, **kwargs) | 211 > return orig(vfs, lockname, wait, releasewrap, *args, **kwargs) |
212 > | 212 > |
213 > def reposetup(ui, repo): | 213 > def reposetup(ui, repo): |
214 > wrapfunction(repo, '_lock', lockexception) | 214 > wrapfunction(repo, '_lock', lockexception) |
215 > | 215 > |
229 | 229 |
230 Aborting transaction prevents fncache change | 230 Aborting transaction prevents fncache change |
231 | 231 |
232 $ cat > ../exceptionext.py <<EOF | 232 $ cat > ../exceptionext.py <<EOF |
233 > import os | 233 > import os |
234 > from mercurial import commands, util, localrepo | 234 > from mercurial import commands, error, localrepo |
235 > from mercurial.extensions import wrapfunction | 235 > from mercurial.extensions import wrapfunction |
236 > | 236 > |
237 > def wrapper(orig, self, *args, **kwargs): | 237 > def wrapper(orig, self, *args, **kwargs): |
238 > tr = orig(self, *args, **kwargs) | 238 > tr = orig(self, *args, **kwargs) |
239 > def fail(tr): | 239 > def fail(tr): |
240 > raise util.Abort("forced transaction failure") | 240 > raise error.Abort("forced transaction failure") |
241 > # zzz prefix to ensure it sorted after store.write | 241 > # zzz prefix to ensure it sorted after store.write |
242 > tr.addfinalize('zzz-forcefails', fail) | 242 > tr.addfinalize('zzz-forcefails', fail) |
243 > return tr | 243 > return tr |
244 > | 244 > |
245 > def uisetup(ui): | 245 > def uisetup(ui): |
260 | 260 |
261 Aborted transactions can be recovered later | 261 Aborted transactions can be recovered later |
262 | 262 |
263 $ cat > ../exceptionext.py <<EOF | 263 $ cat > ../exceptionext.py <<EOF |
264 > import os | 264 > import os |
265 > from mercurial import commands, util, transaction, localrepo | 265 > from mercurial import commands, error, transaction, localrepo |
266 > from mercurial.extensions import wrapfunction | 266 > from mercurial.extensions import wrapfunction |
267 > | 267 > |
268 > def trwrapper(orig, self, *args, **kwargs): | 268 > def trwrapper(orig, self, *args, **kwargs): |
269 > tr = orig(self, *args, **kwargs) | 269 > tr = orig(self, *args, **kwargs) |
270 > def fail(tr): | 270 > def fail(tr): |
271 > raise util.Abort("forced transaction failure") | 271 > raise error.Abort("forced transaction failure") |
272 > # zzz prefix to ensure it sorted after store.write | 272 > # zzz prefix to ensure it sorted after store.write |
273 > tr.addfinalize('zzz-forcefails', fail) | 273 > tr.addfinalize('zzz-forcefails', fail) |
274 > return tr | 274 > return tr |
275 > | 275 > |
276 > def abortwrapper(orig, self, *args, **kwargs): | 276 > def abortwrapper(orig, self, *args, **kwargs): |
277 > raise util.Abort("forced transaction failure") | 277 > raise error.Abort("forced transaction failure") |
278 > | 278 > |
279 > def uisetup(ui): | 279 > def uisetup(ui): |
280 > wrapfunction(localrepo.localrepository, 'transaction', trwrapper) | 280 > wrapfunction(localrepo.localrepository, 'transaction', trwrapper) |
281 > wrapfunction(transaction.transaction, '_abort', abortwrapper) | 281 > wrapfunction(transaction.transaction, '_abort', abortwrapper) |
282 > | 282 > |