--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/lockdelay.py Sat Feb 27 18:22:49 2016 -0800
@@ -0,0 +1,26 @@
+# 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
+
+from mercurial import (
+ lock as lockmod,
+)
+
+class delaylock(lockmod.lock):
+ def lock(self):
+ delay = float(os.environ.get('HGPRELOCKDELAY', '0.0'))
+ if delay:
+ time.sleep(delay)
+ res = super(delaylock, self).lock()
+ delay = float(os.environ.get('HGPOSTLOCKDELAY', '0.0'))
+ if delay:
+ time.sleep(delay)
+ return res
+
+def extsetup(ui):
+ lockmod.lock = delaylock