Mercurial > hg
changeset 50098:889d2a2e9326 stable
test-chg: use a different log to avoid flakyness
The test was deleting the log file to start anew. However a trailing working
process might still be alive at this time, and recreate the very same log on
exit.
We see the trace of such worker in the expected content of server.log (see the
trace modified by this patch). This is flaky because we don't know *when* the
worker will write to the file and there is a race with the `hg init cached`
command.
A much simpler and reliable way to start anew without having such race is⦠to
write to a different log file. No reuse β no conflict, no conflict β no race, no
race β no flakiness.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 18 Feb 2023 01:21:51 +0100 |
parents | ca9d65d69c27 |
children | 0f0880c8a7e5 812a9fbf4380 |
files | tests/test-chg.t |
diffstat | 1 files changed, 2 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-chg.t Fri Nov 18 13:51:40 2022 +0000 +++ b/tests/test-chg.t Sat Feb 18 01:21:51 2023 +0100 @@ -352,11 +352,10 @@ repository cache ---------------- - $ rm log/server.log* $ cp $HGRCPATH.unconfigured $HGRCPATH $ cat <<'EOF' >> $HGRCPATH > [cmdserver] - > log = $TESTTMP/log/server.log + > log = $TESTTMP/log/server-cached.log > max-repo-cache = 1 > track-log = command, repocache > EOF @@ -420,9 +419,7 @@ check server log: - $ cat log/server.log | filterlog - YYYY/MM/DD HH:MM:SS (PID)> worker process exited (pid=...) - YYYY/MM/DD HH:MM:SS (PID)> worker process exited (pid=...) (?) + $ cat log/server-cached.log | filterlog YYYY/MM/DD HH:MM:SS (PID)> init cached YYYY/MM/DD HH:MM:SS (PID)> id -R cached YYYY/MM/DD HH:MM:SS (PID)> loaded repo into cache: $TESTTMP/cached (in ...s)