Compat: a copy's own listeners aren't ours to bind
The first run against INBUXA's store failed all eight tests identically, before reading a single record: the copy carries that server's listeners on 25, 443, 465, 587, 110, 143, 993 and 995, and nothing in a test run is root, so each one failed with "Permission denied (os error 13)". The builder now remembers the listeners it adds, and under NO_INSERT drops build errors for any it didn't. Every other error still stands, including a bind failing on one of its own, so this can't hide the case where the harness's own port is taken. The copy isn't edited for this: its listeners are simply not what a compat run needs, and it reaches the server over the compat- ones instead. Checked that a NO_INSERT run still boots and that scim_tests, which takes the ordinary path, still passes.
This commit is contained in:
@@ -99,6 +99,16 @@ copy of INBUXA's data any more. The script copies from the source for each
|
||||
test and removes the copy afterwards, so the source stays clean; take it
|
||||
from a stopped server or a snapshot, never from under a running one.
|
||||
|
||||
**Why the copy's own listeners are ignored.** A real server listens on 25,
|
||||
443, 993 and the rest. Nothing in a test run is root, so every one of those
|
||||
fails to bind and the run died before reading any data, with eight
|
||||
`Permission denied (os error 13)` errors and nothing about what to do.
|
||||
Under `NO_INSERT` the harness now drops build errors belonging to listeners
|
||||
it did not add itself, and keeps every other error, including a bind that
|
||||
fails on one of its own (`tests/src/utils/server.rs`). The copy is not
|
||||
edited to achieve this; its listeners are simply not what a compat run
|
||||
needs.
|
||||
|
||||
**Why `compat-` listeners appear in the copy.** The harness needs listeners
|
||||
on its own ports, and the registry keys listeners by name. A real server
|
||||
has its own, and a production listener called `jmap` or `imap` collided
|
||||
|
||||
Reference in New Issue
Block a user