tests/failfilemerge.py
author Yuya Nishihara <yuya@tcha.org>
Sat, 25 Feb 2017 12:48:50 +0900
branchstable
changeset 31118 a91c62752d08
parent 30332 318a24b52eeb
child 34122 c0ce60459d84
permissions -rw-r--r--
worker: flush messages written by child processes before exit I found some child outputs were lost while testing the previous patch. Since os._exit() does nothing special, we need to do that explicitly.

# extension to emulate interrupting filemerge._filemerge

from __future__ import absolute_import

from mercurial import (
    error,
    extensions,
    filemerge,
)

def failfilemerge(filemergefn,
                  premerge, repo, mynode, orig, fcd, fco, fca, labels=None):
    raise error.Abort("^C")
    return filemergefn(premerge, repo, mynode, orig, fcd, fco, fca, labels)

def extsetup(ui):
    extensions.wrapfunction(filemerge, '_filemerge',
                            failfilemerge)