##// END OF EJS Templates
tests: remove Python 2 special cases in test-stdio.py
tests: remove Python 2 special cases in test-stdio.py

File last commit:

r49730:6000f5b2 default
r50192:402f9f0f default
Show More
crash_transaction_late.py
31 lines | 819 B | text/x-python | PythonLexer
/ tests / testlib / crash_transaction_late.py
nodemap: make sure on disk change get rolled back with the transaction...
r45124 # tiny extension to abort a transaction very late during test
#
# Copyright 2020 Pierre-Yves David <pierre-yves.david@octobus.net>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from mercurial import (
error,
)
def abort(fp):
raise error.Abort(b"This is a late abort")
def reposetup(ui, repo):
class LateAbortRepo(repo.__class__):
def transaction(self, *args, **kwargs):
tr = super(LateAbortRepo, self).transaction(*args, **kwargs)
tr.addfilegenerator(
transaction: do not rely on a global variable to post_finalize file...
r49534 b'late-abort',
[b'late-abort'],
abort,
order=9999999,
post_finalize=True,
nodemap: make sure on disk change get rolled back with the transaction...
r45124 )
return tr
repo.__class__ = LateAbortRepo