##// END OF EJS Templates
tests: skip a detailed exit status in test-lfs-test-server...
tests: skip a detailed exit status in test-lfs-test-server The mode of failure here differs between `lfs-test-server` and `hg serve`, and they each throw a different exception. The `hg serve` case raises a subclass of `StorageError`, which gets a detailed status. The `lfs-test-server` case raises a subclass of `Abort`, which does not. Since the exit code isn't currently conditionizable in the tests, this is the simplest way to avoid the failure. Differential Revision: https://phab.mercurial-scm.org/D9836

File last commit:

r45124:01b08055 default
r47062:47b11629 stable
Show More
crash_transaction_late.py
32 lines | 850 B | text/x-python | PythonLexer
/ tests / testlib / crash_transaction_late.py
# 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 __future__ import absolute_import
from mercurial import (
error,
transaction,
)
def abort(fp):
raise error.Abort(b"This is a late abort")
def reposetup(ui, repo):
transaction.postfinalizegenerators.add(b'late-abort')
class LateAbortRepo(repo.__class__):
def transaction(self, *args, **kwargs):
tr = super(LateAbortRepo, self).transaction(*args, **kwargs)
tr.addfilegenerator(
b'late-abort', [b'late-abort'], abort, order=9999999
)
return tr
repo.__class__ = LateAbortRepo