view tests/sitecustomize.py @ 24993:be58bd30a478

amend: use dirstateguard instead of dirstate.invalidate Before this patch, "cmdutil.amend()" uses "dirstate.invalidate()" as a kind of "restore .hg/dirstate to the original status" during a failure. But it just discards changes in memory, and doesn't actually restore ".hg/dirstate". Then, it can't work as expected, if "dirstate.write()" is executed while processing. This patch uses "dirstateguard" instead of "dirstate.invalidate()" to restore ".hg/dirstate" at failure even if "dirstate.write()" is executed before failure. This is a part of preparations to fix the issue that the recent (in memory) dirstate isn't visible to external process (e.g. "precommit" hook).
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Thu, 07 May 2015 12:07:10 +0900
parents 031947baf4d0
children b12bda49c3e3
line wrap: on
line source

import os

if os.environ.get('COVERAGE_PROCESS_START'):
    try:
        import coverage
        import random

        # uuid is better, but not available in Python 2.4.
        covpath = os.path.join(os.environ['COVERAGE_DIR'],
                               'cov.%s' % random.randrange(0, 1000000000000))
        cov = coverage.coverage(data_file=covpath, auto_data=True)
        cov._warn_no_data = False
        cov._warn_unimported_source = False
        cov.start()
    except ImportError:
        pass