test-run-tests: stabilize the test (issue5735)
Previously there is a race condition because things happen in this order:
1. Check shouldStop
2. If shouldStop is false, print the diff
3. Call fail() -> set shouldStop
The check and set should really happen in a same critical section.
This patch adds a lock to address the issue.
Test Plan:
Run `run-tests.py -l test-run-tests.t` 20 times on gcc112 and the race
condition does not reproduce.
Differential Revision: https://phab.mercurial-scm.org/D1830
@echo off
powershell -NoProfile -ExecutionPolicy unrestricted -Command "& '%~dp0\editmergeps.ps1' %*"