--- a/tests/test-lock-badness.t Wed Nov 29 20:36:29 2017 -0500
+++ b/tests/test-lock-badness.t Wed Nov 29 20:39:59 2017 -0500
@@ -57,14 +57,77 @@
$ echo b > b/b
$ hg -R b ci -A -m b --config hooks.precommit="python:`pwd`/hooks.py:sleepone" > stdout &
$ hg -R b up -q --config hooks.pre-update="python:`pwd`/hooks.py:sleephalf" \
- > > preup 2>&1
+ > > preup-stdout 2>preup-stderr
$ wait
- $ cat preup
+ $ cat preup-stdout
+ $ cat preup-stderr
waiting for lock on working directory of b held by process '*' on host '*' (glob)
got lock after * seconds (glob)
$ cat stdout
adding b
+On processs waiting on another, warning after a long time.
+
+ $ echo b > b/c
+ $ hg -R b ci -A -m b --config hooks.precommit="python:`pwd`/hooks.py:sleepone" > stdout &
+ $ hg -R b up -q --config hooks.pre-update="python:`pwd`/hooks.py:sleephalf" \
+ > --config ui.timeout.warn=250 \
+ > > preup-stdout 2>preup-stderr
+ $ wait
+ $ cat preup-stdout
+ $ cat preup-stderr
+ $ cat stdout
+ adding c
+
+On processs waiting on another, warning disabled.
+
+ $ echo b > b/d
+ $ hg -R b ci -A -m b --config hooks.precommit="python:`pwd`/hooks.py:sleepone" > stdout &
+ $ hg -R b up -q --config hooks.pre-update="python:`pwd`/hooks.py:sleephalf" \
+ > --config ui.timeout.warn=-1 \
+ > > preup-stdout 2>preup-stderr
+ $ wait
+ $ cat preup-stdout
+ $ cat preup-stderr
+ $ cat stdout
+ adding d
+
+check we still print debug output
+
+On processs waiting on another, warning after a long time (debug output on)
+
+ $ echo b > b/e
+ $ hg -R b ci -A -m b --config hooks.precommit="python:`pwd`/hooks.py:sleepone" > stdout &
+ $ hg -R b up --config hooks.pre-update="python:`pwd`/hooks.py:sleephalf" \
+ > --config ui.timeout.warn=250 --debug\
+ > > preup-stdout 2>preup-stderr
+ $ wait
+ $ cat preup-stdout
+ calling hook pre-update: hghook_pre-update.sleephalf
+ waiting for lock on working directory of b held by process '*' on host '*' (glob)
+ got lock after * seconds (glob)
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ cat preup-stderr
+ $ cat stdout
+ adding e
+
+On processs waiting on another, warning disabled, (debug output on)
+
+ $ echo b > b/f
+ $ hg -R b ci -A -m b --config hooks.precommit="python:`pwd`/hooks.py:sleepone" > stdout &
+ $ hg -R b up --config hooks.pre-update="python:`pwd`/hooks.py:sleephalf" \
+ > --config ui.timeout.warn=-1 --debug\
+ > > preup-stdout 2>preup-stderr
+ $ wait
+ $ cat preup-stdout
+ calling hook pre-update: hghook_pre-update.sleephalf
+ waiting for lock on working directory of b held by process '*' on host '*' (glob)
+ got lock after * seconds (glob)
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ cat preup-stderr
+ $ cat stdout
+ adding f
+
Pushing to a local read-only repo that can't be locked
$ chmod 100 a/.hg/store