Mercurial > hg-stable
changeset 47035:9e3979a25bfe stable
tests: stabilize test-persistent-nodemap.t on Windows
Several issues here:
- Hooks can't invoke shell scripts on Windows, so use `sh` to launch
- `dd` in MSYS only recognizes `status=noxfer`
- The `PATH` updating triggered a massive slowdown, but is no longer needed
I have no idea why, but removing the `PATH` update substantially increased the
speed of the test. It was running finishing at ~4:30 with `--debug` and ~14:50
without it, but now completes in ~2:20 on my Windows laptop.
Differential Revision: https://phab.mercurial-scm.org/D10636
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 01 May 2021 16:13:53 -0400 |
parents | a12819559ccb |
children | ea563187ee7c |
files | tests/test-persistent-nodemap.t |
diffstat | 1 files changed, 6 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-persistent-nodemap.t Sun May 02 19:54:08 2021 -0400 +++ b/tests/test-persistent-nodemap.t Sat May 01 16:13:53 2021 -0400 @@ -474,17 +474,16 @@ Another process does not see the pending nodemap content during run. - $ PATH=$RUNTESTDIR/testlib/:$PATH $ echo qpoasp > a $ hg ci -m a2 \ - > --config "hooks.pretxnclose=wait-on-file 20 sync-repo-read sync-txn-pending" \ + > --config "hooks.pretxnclose=sh \"$RUNTESTDIR/testlib/wait-on-file\" 20 sync-repo-read sync-txn-pending" \ > --config "hooks.txnclose=touch sync-txn-close" > output.txt 2>&1 & (read the repository while the commit transaction is pending) - $ wait-on-file 20 sync-txn-pending && \ + $ sh "$RUNTESTDIR/testlib/wait-on-file" 20 sync-txn-pending && \ > hg debugnodemap --metadata && \ - > wait-on-file 20 sync-txn-close sync-repo-read + > sh "$RUNTESTDIR/testlib/wait-on-file" 20 sync-txn-close sync-repo-read uid: ???????????????? (glob) tip-rev: 5004 tip-node: 2f5fb1c06a16834c5679d672e90da7c5f3b1a984 @@ -792,7 +791,9 @@ $ datafilepath=`ls corruption-test-repo/.hg/store/00changelog*.nd` $ f -s $datafilepath corruption-test-repo/.hg/store/00changelog-*.nd: size=121088 (glob) - $ dd if=$datafilepath bs=1000 count=10 of=$datafilepath-tmp status=none + $ dd if=$datafilepath bs=1000 count=10 of=$datafilepath-tmp status=noxfer + 10+0 records in + 10+0 records out $ mv $datafilepath-tmp $datafilepath $ f -s $datafilepath corruption-test-repo/.hg/store/00changelog-*.nd: size=10000 (glob)