Files
logos-messaging-nim/tests-e2e/tests
Egor Rachkovskii 23b0d31e84 test(e2e): port the channel delivery tests and the isolated sender process (#4117)
Three open PRs in logos-delivery-interop-tests add 19 channel-API tests
(RC07-RC09 #203, RC10-RC12 #209, RC13 #212). Their wrapper API surface is
already covered here, but the pieces they import were not, so those tests could
not be written in core. This ports them.

subprocess_node.py, rc05/rc06 and the closed-channel test come from interop
master; the two wrapper_helpers additions are byte-identical to what #209/#212
add, so the RC07-RC13 ports apply cleanly.

Why a spawned subprocess: co-located nodes both default localStoragePath to
./data and share data/sds.db, so the receiver drops the sender's own channel
message as a duplicate. The interop rationale blaming a process-wide Persistency
singleton is false since #4109 made Persistency per-node; the shared storage path
is the cause, and chdir to a private temp dir is what isolates it. A per-node
localStoragePath would likely replace the spawn machinery, but RC07-RC13 build on
the ported form.

Why the re-subscribe in the closed-channel test: channel_close unsubscribes the
content topic and subscriptions are not refcounted (#4081, tracked in #4087), so
the receiver re-subscribes to keep message_received as the arrival witness. This
follows the resolution in the still-open interop PR #212.

Non-docker collection goes 48 -> 51; README updated. Suite: 48 passed, 2 skipped,
1 xfailed, verified over two back-to-back runs.
2026-08-12 19:03:09 +01:00
..