contrib/showstack.py
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Mon, 08 Feb 2016 18:29:17 +0900
changeset 28036 b5069c2b6f62
parent 26123 bdac264e5ed4
child 28522 f2fe7b199bb4
permissions -rw-r--r--
tests: make chunk header of external diff glob-ed for portability Before this patch, some tests using external "diff" command via extdiff extension fail on Solaris, because system standard "diff" (= /usr/bin/diff) on Solaris always generates chunk headers below: - "@@ -1,0 +1,nnnn @@" for added file - "@@ -1,nnnn +1,0 @@" for removed file even though "diff" on Linux generates: - "@@ -0,0 +1,nnnn @@" for added file - "@@ -1,nnnn +0,0 @@" for removed file This patch makes chunk header of external diff glob-ed for portability of tests. "hg diff" output follows Linux style, and there are many such diff output lines in existing tests. This is reason why this patch doesn't add check-code.py any rule to detect such diff output in tests. This patch is a part of making tests using external "diff" portable, and test-subrepo-deep-nested-change.t isn't yet portable even after this patch.

# showstack.py - extension to dump a Python stack trace on signal
#
# binds to both SIGQUIT (Ctrl-\) and SIGINFO (Ctrl-T on BSDs)

import sys, signal, traceback

def sigshow(*args):
    sys.stderr.write("\n")
    traceback.print_stack(args[1], limit=10, file=sys.stderr)
    sys.stderr.write("----\n")

def extsetup(ui):
    signal.signal(signal.SIGQUIT, sigshow)
    try:
        signal.signal(signal.SIGINFO, sigshow)
    except AttributeError:
        pass