Mercurial > hg
view tests/test-narrow-debugcommands.t @ 46326:3e23794b9e1c
run-tests: work around the Windows firewall popup for server processes
Windows doesn't have a `python3` executable, so cc0b332ab9fc attempted to work
around the issue by copying the current python to `python3.exe`. That put it in
`_tmpbindir` because of failures in `test-run-tests.t` when using `_bindir`,
which looked like a process was trying to open it to write out a copy while it
was in use. (Interestingly, I couldn't reproduce this running the test by
itself in a loop for a couple of hours, but it happens constantly when running
all tests.) The problem with using `_tmpbindir` is that it is the randomly
generated path for the test run, and instead of Windows Firewall remembering the
executable signature or image hash when allowing the process to open a server
port, it apparently remembers the image path. That means every run will trigger
a popup to allow it, which is bad for firing off a test run and walking away.
I tried to symlink to the python executable, but that currently requires admin
priviledges[1]. This will prompt the first time if the underlying python binary
has never opened a server port, but appears to avoid it on subsequent runs.
[1] https://bugs.python.org/issue40687
Differential Revision: https://phab.mercurial-scm.org/D9815
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Mon, 18 Jan 2021 00:50:01 -0500 |
parents | ce0bc2952e2a |
children | ccd76e292be5 |
line wrap: on
line source
$ . "$TESTDIR/narrow-library.sh" $ hg init repo $ cd repo $ cat << EOF > .hg/store/narrowspec > [include] > path:foo > [exclude] > EOF $ cp .hg/store/narrowspec .hg/narrowspec.dirstate $ echo treemanifest >> .hg/requires $ echo narrowhg-experimental >> .hg/requires $ mkdir -p foo/bar $ echo b > foo/f $ echo c > foo/bar/f $ hg commit -Am hi adding foo/bar/f adding foo/f $ hg debugindex -m rev linkrev nodeid p1 p2 0 0 14a5d056d75a 000000000000 000000000000 $ hg debugindex --dir foo rev linkrev nodeid p1 p2 0 0 e635c7857aef 000000000000 000000000000 $ hg debugindex --dir foo/ rev linkrev nodeid p1 p2 0 0 e635c7857aef 000000000000 000000000000 $ hg debugindex --dir foo/bar rev linkrev nodeid p1 p2 0 0 e091d4224761 000000000000 000000000000 $ hg debugindex --dir foo/bar/ rev linkrev nodeid p1 p2 0 0 e091d4224761 000000000000 000000000000 $ hg debugdata -m 0 foo\x00e635c7857aef92ac761ce5741a99da159abbbb24t (esc) $ hg debugdata --dir foo 0 bar\x00e091d42247613adff5d41b67f15fe7189ee97b39t (esc) f\x001e88685f5ddec574a34c70af492f95b6debc8741 (esc) $ hg debugdata --dir foo/ 0 bar\x00e091d42247613adff5d41b67f15fe7189ee97b39t (esc) f\x001e88685f5ddec574a34c70af492f95b6debc8741 (esc) $ hg debugdata --dir foo/bar 0 f\x00149da44f2a4e14f488b7bd4157945a9837408c00 (esc) $ hg debugdata --dir foo/bar/ 0 f\x00149da44f2a4e14f488b7bd4157945a9837408c00 (esc)