Mercurial > hg
changeset 51998:629ecced55a6
tests: fix hooks in `test-transaction-rollback-on-revlog-split.t` for Windows
A few problems with external hooks here:
1) `cmd.exe` is blissfully unaware of the meaning of single quotes, and passes
them along as part of the revision arg
2) `cmd.exe` doesn't know how to run the python script `f` with the shebang
line, so it needs to be invoked with the intepreter explicitly. Then for
some reason it was trying to open `$TESTTMP\troffset-computation-hooks\f`,
so make it an absolute path.
3) Likewise, the shell script `wait-on-file` cannot be invoked directly by
`cmd.exe`.
4) Windows python doesn't understand whatever `$TESTTMP` unrolls to (probably
it has the double backslashes), and silently failed to write the lock file.
I'm assuming that `pretxnclose.03-abort` is also bad (there's no `false` in
`cmd.exe`), but it's not currently causing problems.
Also note that the paths in this are very long, and typically exceed the
`MAX_PATH` limit in Windows. It can be run with `run-tests.py --tmpdir /c/t`.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 12 Oct 2024 16:55:30 -0400 |
parents | 3f70ea5bcaeb |
children | 997c9b2069d1 |
files | tests/test-transaction-rollback-on-revlog-split.t |
diffstat | 1 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-transaction-rollback-on-revlog-split.t Sat Oct 12 16:35:03 2024 -0400 +++ b/tests/test-transaction-rollback-on-revlog-split.t Sat Oct 12 16:55:30 2024 -0400 @@ -58,11 +58,11 @@ > def _wait_post_load(orig, self, *args, **kwargs): > wait = b'data/file' in self.radix > if wait: - > testing.wait_file(b"$TESTTMP/writer-revlog-split") + > testing.wait_file(b"$TESTTMP_FORWARD_SLASH/writer-revlog-split") > r = orig(self, *args, **kwargs) > if wait: - > testing.write_file(b"$TESTTMP/reader-index-read") - > testing.wait_file(b"$TESTTMP/writer-revlog-unsplit") + > testing.write_file(b"$TESTTMP_FORWARD_SLASH/reader-index-read") + > testing.wait_file(b"$TESTTMP_FORWARD_SLASH/writer-revlog-unsplit") > return r > > def extsetup(ui): @@ -441,7 +441,7 @@ $ cd troffset-computation-race $ cat > .hg/hgrc <<EOF > [hooks] - > pretxnchangegroup=$RUNTESTDIR/testlib/wait-on-file 5 $TESTTMP/reader-index-read $TESTTMP/writer-revlog-split + > pretxnchangegroup=sh "$RUNTESTDIR/testlib/wait-on-file" 5 $TESTTMP/reader-index-read $TESTTMP/writer-revlog-split > pretxnclose = false > EOF @@ -485,8 +485,8 @@ $ cd troffset-computation-hooks $ cat > .hg/hgrc <<EOF > [hooks] - > pretxnclose.01-echo = hg cat -r 'max(all())' file | f --size - > pretxnclose.02-echo = $RUNTESTDIR/testlib/wait-on-file 5 $TESTTMP/hook-done $TESTTMP/hook-tr-ready + > pretxnclose.01-echo = hg cat -r "max(all())" file | "$PYTHON" "$RUNTESTDIR/f" --size + > pretxnclose.02-echo = sh "$RUNTESTDIR/testlib/wait-on-file" 5 $TESTTMP/hook-done $TESTTMP/hook-tr-ready > pretxnclose.03-abort = false > EOF