view tests/lockdelay.py @ 34810:44bd29168d14

releasenotes: make the import of fuzzywuzzy optional If fuzzywuzzy is note present, we will not be having the capability to merge existing releasenotes with the new releasenotes on the similarity basis. The merging will still work good for exact same releasenotes entries. Differential Revision: https://phab.mercurial-scm.org/D1096
author Pulkit Goyal <7895pulkit@gmail.com>
date Sun, 15 Oct 2017 20:29:16 +0530
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