Mercurial > public > mercurial-scm > hg-stable
view tests/lockdelay.py @ 50223:a6ca61fd1fa8
narrow: widden the lock context in `tracking`
The tracking configuration we modify must be read under lock. So we grab the
lock sooner.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 23 Feb 2023 00:12:53 +0100 |
parents | 6000f5b25c9b |
children | 5cc8deb96b48 |
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. import os import time def reposetup(ui, repo): class delayedlockrepo(repo.__class__): def lock(self, wait=True): delay = float(os.environ.get('HGPRELOCKDELAY', '0.0')) if delay: time.sleep(delay) res = super(delayedlockrepo, self).lock(wait=wait) delay = float(os.environ.get('HGPOSTLOCKDELAY', '0.0')) if delay: time.sleep(delay) return res repo.__class__ = delayedlockrepo