test: add deferred phase 8 adversarial matrix
This commit is contained in:
@@ -52,6 +52,32 @@ restores the target root's original mode even on an aborted run.
|
||||
The scheduler pause/resume endpoints exist only on the loopback test adapter;
|
||||
normal control and Telegram orchestration always use the automatic scheduler.
|
||||
|
||||
Set `E2E_RUN_ADVERSARIAL=1` to run the deferred Phase 8 v2/fault tranche in
|
||||
one pass. The scenario performs archive → eviction → unarchive round trips for
|
||||
a pure-v2 torrent and a hybrid torrent, checking that hybrid placements retain
|
||||
both identities. It then:
|
||||
|
||||
- leaves a Syncthing command durable while archive-2 is offline, waits beyond
|
||||
the five-second E2E stall threshold, verifies the job retains overall
|
||||
progress while `STALLED`, and reconnects the client to finish it;
|
||||
- recreates archive-2 with `client-exhausted.toml`, whose impossible free-space
|
||||
reserve exercises the real capacity guard without consuming disk, and
|
||||
verifies a precise precommit failure with the source intact; and
|
||||
- runs a separate `protocol-probe` container in the control network namespace.
|
||||
The probe sends job event 2 before event 1, requires a snapshot request and
|
||||
stale-state error, sends event 1 twice, and replays event 2 to prove
|
||||
reordered convergence and duplicate idempotency over the real WebSocket.
|
||||
|
||||
The adversarial script restores the normal archive-2 client configuration and
|
||||
automatic scheduler through an exit trap. This tranche is intentionally
|
||||
checked in before its first execution; run it later with:
|
||||
|
||||
```bash
|
||||
E2E_RUN_ADVERSARIAL=1 \
|
||||
ARCHIVE_CONTROL_SOURCE=/path/to/mogic-bot \
|
||||
./e2e/scripts/up.sh
|
||||
```
|
||||
|
||||
The Syncthing 2.1.2 and LinuxServer qBittorrent multi-platform image indexes are
|
||||
digest-pinned. Runtime secrets are generated with mode 0600 and ignored by
|
||||
Git. The qBittorrent test config limits its authentication bypass to the
|
||||
|
||||
Reference in New Issue
Block a user