Mercurial > hg
view tests/test-ancestor.py.out @ 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 | d097dd0afc19 |
children |
line wrap: on
line source
% removeancestorsfrom(), example 1 remaining (sorted): [5, 6, 8, 9] % removeancestorsfrom(), example 2 remaining (sorted): [11, 12, 13, 14] % removeancestorsfrom(), example 3 remaining (sorted): [3, 5] % missingancestors(), example 1 return [3, 7, 11] % missingancestors(), example 2 return [5, 10] % missingancestors(), example 3 return [3, 6, 9, 11] % removeancestorsfrom(), bigger graph Ok % lazy ancestor set for [], stoprev = 0, inclusive = False membership: [] iteration: [] % lazy ancestor set for [11, 13], stoprev = 0, inclusive = False membership: [7, 8, 3, 4, 1, 0] iteration: [8, 7, 4, 3, 2, 1, 0] % lazy ancestor set for [1, 3], stoprev = 0, inclusive = False membership: [1, 0] iteration: [1, 0] % lazy ancestor set for [11, 13], stoprev = 0, inclusive = True membership: [11, 13, 7, 8, 3, 4, 1, 0] iteration: [13, 11, 8, 7, 4, 3, 2, 1, 0] % lazy ancestor set for [11, 13], stoprev = 6, inclusive = False membership: [7, 8] iteration: [8, 7] % lazy ancestor set for [11, 13], stoprev = 6, inclusive = True membership: [11, 13, 7, 8] iteration: [13, 11, 8, 7] % lazy ancestor set for [11, 13], stoprev = 11, inclusive = True membership: [11, 13] iteration: [13, 11] % lazy ancestor set for [11, 13], stoprev = 12, inclusive = True membership: [13] iteration: [13] % lazy ancestor set for [10, 1], stoprev = 0, inclusive = True membership: [2, 10, 4, 5, 0, 1] iteration: [10, 5, 4, 2, 1, 0]