view tests/lockdelay.py @ 32140:40785ccab410 stable

help: call out specific replacement configuration settings As an aside, I'm having trouble parsing the help text meaning for HG when it is unset or empty. How can it be the frozen name or searched if it is empty?
author Matt Harbison <matt_harbison@yahoo.com>
date Wed, 03 May 2017 22:56:53 -0400
parents a76d5ba7ac43
children 2372284d9457
line wrap: on
line source

# Dummy extension that adds a delay after acquiring a lock.
#
# This extension can be used to test race conditions between lock acquisition.

from __future__ import absolute_import

import os
import time

def reposetup(ui, repo):

    class delayedlockrepo(repo.__class__):
        def lock(self):
            delay = float(os.environ.get('HGPRELOCKDELAY', '0.0'))
            if delay:
                time.sleep(delay)
            res = super(delayedlockrepo, self).lock()
            delay = float(os.environ.get('HGPOSTLOCKDELAY', '0.0'))
            if delay:
                time.sleep(delay)
            return res
    repo.__class__ = delayedlockrepo