Tue, 05 Nov 2024 12:02:38 -0500 tests: bump the wait timeouts in test-racy-mutations.t stable
Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 Nov 2024 12:02:38 -0500] rev 52194
tests: bump the wait timeouts in test-racy-mutations.t This was done to try to figure out why there's output differences in the previous two commits- low timeouts have been a cause of a lot of problems on Windows. That doesn't seem to be the case here, but I'm leaving it in anyway to avoid sporadic failures.
Tue, 05 Nov 2024 11:50:29 -0500 tests: add a "missing" tests for manifest content in test-racy-mutations.t stable
Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 Nov 2024 11:50:29 -0500] rev 52193
tests: add a "missing" tests for manifest content in test-racy-mutations.t Trying to figure out why the divergence in behavior on Windows. The first test shows everything is the same on all platforms; the second shows that the other #testcase also diverges. The difference might be that `00manifest.i` doesn't get updated (and copied over) after `pre-race` is created, but I've no idea why that would be either.
Tue, 05 Nov 2024 11:48:22 -0500 tests: conditionalize missing output in test-racy-mutations.t on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 Nov 2024 11:48:22 -0500] rev 52192
tests: conditionalize missing output in test-racy-mutations.t on Windows No idea why this is only missing on Windows. I verified that the line marked as missing directly above this for the changelog is, in fact, missing on both Windows and Linux. So there's probably work to do in this area on all platforms. It would be nice to figure out what is going on, but this appeases CI in the meantime.
Thu, 07 Nov 2024 10:36:12 -0500 tests: disable a section of `test-paths.t` that may hit a zeroconf bug stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 07 Nov 2024 10:36:12 -0500] rev 52191
tests: disable a section of `test-paths.t` that may hit a zeroconf bug This effectively re-disables the same test as cce9e7d2fb92, but unconditionally because it's not a pyoxidizer-specific problem. 74e16d8ca5f3 disabled the other related test for the same reason- this one was missed because it wasn't failing for the few runs when that was tested.
Tue, 05 Nov 2024 15:21:09 +0100 rust-update: make `update_from_null` respect `worker.numcpu` config option stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 05 Nov 2024 15:21:09 +0100] rev 52190
rust-update: make `update_from_null` respect `worker.numcpu` config option This was overlooked in the original series. This is important for tests (because we run many at once), and for the occasional end user that wants to keep their CPU usage in check. A future series should clean up this `worker` parameter tunelling business by rewriting the config in Rust, but doing so on stable would be a very bad idea.
Tue, 05 Nov 2024 15:18:32 +0100 rust-cpython: add a TODO about repo reuse stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 05 Nov 2024 15:18:32 +0100] rev 52189
rust-cpython: add a TODO about repo reuse This will need to be done soon-ish to prevent any surprises.
Mon, 04 Nov 2024 16:43:05 -0500 streamclone: disable the volatile file open handle optimization on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 04 Nov 2024 16:43:05 -0500] rev 52188
streamclone: disable the volatile file open handle optimization on Windows Leaving files open caused new failures like this, since a47f09da8bd1: diff --git a/tests/test-persistent-nodemap-stream-clone.t b/tests/test-persistent-nodemap-stream-clone.t --- a/tests/test-persistent-nodemap-stream-clone.t +++ b/tests/test-persistent-nodemap-stream-clone.t @@ -115,7 +115,12 @@ Do a mix of clone and commit at the same $ (hg clone -U --stream ssh://user@dummy/test-repo stream-clone-race-1 --debug 2>> clone-output | grep -E '00(changelog|manifest)' >> clone-output; touch $HG_TEST_STREAM_WALKED_FILE_3) & $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_1 $ hg -R test-repo/ commit -m foo - created new head + transaction abort! + failed to recover 00changelog.n ([WinError 32] The process cannot access the file because it is being used by another process: b'$STR_REPR_TESTTMP\\test-repo/.hg/store/00changelog.n' -> b'$STR_REPR_TESTTMP\\test-repo/.hg/store/00changelog.n-f418dcd6') + rollback failed - please run hg recover + (failure reason: [WinError 32] The process cannot access the file because it is being used by another process: b'$STR_REPR_TESTTMP\\test-repo/.hg/store/00changelog.n' -> b'$STR_REPR_TESTTMP\\test-repo/.hg/store/00changelog.n-f418dcd6') + abort: The process cannot access the file because it is being used by another process: '$TESTTMP\test-repo\.hg\store\00changelog.n' + [255] $ touch $HG_TEST_STREAM_WALKED_FILE_2 $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3 $ cat clone-output Since the `VolatileManager` falls back to the old copy method when the open file threshold is exceeded, this just drops the threshold so that only 1 file is open. The actual value used (2) is unexpected, and explained inline. I'd like to have a config option for this so that we can test both ways (in theory, it could resort to copies on non-Windows systems too), but I don't see a `uimod.ui` handy. Alternately, I tried replacing the 3 `open()` calls in the `VolatileManager` with `util.posixfile()`, but that simply hung the test on Windows for some reason, I think on the same line that's indicated as failing above. (There was a `grep` command hanging around, as well as `hg -R test-repo serve --stdio`.)
Mon, 04 Nov 2024 17:42:30 -0500 tests: treat `select` as a built-in module on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 04 Nov 2024 17:42:30 -0500] rev 52187
tests: treat `select` as a built-in module on Windows This fixes: --- C:/Users/Matt/hg/tests/test-check-module-imports.t +++ C:/Users/Matt/hg/tests/test-check-module-imports.t.err @@ -43,3 +43,15 @@ > -X tests/test-verify-repo-operations.py \ > -X tests/test-extension.t \ > | sed 's-\\-/-g' | "$PYTHON" "$import_checker" - + hgext/zeroconf/Zeroconf.py:86: stdlib import "socket" follows local import: select\r (esc) + hgext/zeroconf/Zeroconf.py:87: stdlib import "struct" follows local import: select\r (esc) + hgext/zeroconf/Zeroconf.py:88: stdlib import "threading" follows local import: select\r (esc) + hgext/zeroconf/Zeroconf.py:89: stdlib import "time" follows local import: select\r (esc) + hgext/zeroconf/Zeroconf.py:90: stdlib import "traceback" follows local import: select\r (esc) + mercurial/posix.py:18: stdlib import "stat" follows local import: select\r (esc) + mercurial/posix.py:19: stdlib import "sys" follows local import: select\r (esc) + mercurial/posix.py:20: stdlib import "tempfile" follows local import: select\r (esc) + mercurial/posix.py:21: stdlib import "typing" follows local import: select\r (esc) + tests/tinyproxy.py:19: stdlib import "socket" follows local import: select\r (esc) + tests/tinyproxy.py:20: stdlib import "sys" follows local import: select\r (esc) + [1] ERROR: test-check-module-imports.t output changed
Mon, 21 Oct 2024 12:58:40 +0200 rust-vfs: add docstrings to all VFS methods on the trait
Raphaël Gomès <rgomes@octobus.net> [Mon, 21 Oct 2024 12:58:40 +0200] rev 52186
rust-vfs: add docstrings to all VFS methods on the trait
Thu, 10 Oct 2024 15:54:45 +0200 rust-vfs: support checkambig
Raphaël Gomès <rgomes@octobus.net> [Thu, 10 Oct 2024 15:54:45 +0200] rev 52185
rust-vfs: support checkambig This was missing from the Rust code, which means worse caching. See https://wiki.mercurial-scm.org/ExactCacheValidationPlan. Explanations on what ambiguity means inline.
Tue, 08 Oct 2024 16:10:30 +0200 rust-vfs: add tests to `AtomicFile`
Raphaël Gomès <rgomes@octobus.net> [Tue, 08 Oct 2024 16:10:30 +0200] rev 52184
rust-vfs: add tests to `AtomicFile` This also makes it more usable from Rust by separating `from_file` and `new`.
Tue, 08 Oct 2024 16:09:39 +0200 rust-vfs: delete the temp file and not the target on drop
Raphaël Gomès <rgomes@octobus.net> [Tue, 08 Oct 2024 16:09:39 +0200] rev 52183
rust-vfs: delete the temp file and not the target on drop Oops. This never affected anything since `close()` is correct and no code has dropped an `AtomicFile` without a close first yet. Next patch will add tests.
Thu, 26 Sep 2024 14:26:24 +0200 rust: don't star export from the `revlog` module
Raphaël Gomès <rgomes@octobus.net> [Thu, 26 Sep 2024 14:26:24 +0200] rev 52182
rust: don't star export from the `revlog` module This made a lot of the imports confusing because they didn't make sense at the top level (so, outside of `revlog`), and they hide the more common types when autocompleting.
Thu, 01 Aug 2024 11:27:20 +0200 rust: populate mmaps in a separate thread if possible
Raphaël Gomès <rgomes@octobus.net> [Thu, 01 Aug 2024 11:27:20 +0200] rev 52181
rust: populate mmaps in a separate thread if possible Same rationale as b619ba39d10a.
Wed, 31 Jul 2024 15:41:08 +0200 rust-revlog: build an in-memory nodemap if a given revlog gets queried a lot
Raphaël Gomès <rgomes@octobus.net> [Wed, 31 Jul 2024 15:41:08 +0200] rev 52180
rust-revlog: build an in-memory nodemap if a given revlog gets queried a lot This will help with non-persistent nodemap repos that would benefit from one, and mirrors what the C implementation does.
(0) -30000 -10000 -3000 -1000 -300 -100 -15 +15 +100 tip