You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(e2e): update READMEs for the consolidated suite layout (#24518)
Updates every README in the e2e test section to describe the suite as it
will look once the nine open
round-2 consolidation PRs land. This is docs-only — no code, config, or
`bootstrap.sh` changes.
## What changed per README
- **`end-to-end/README.md`** (root): repointed the `LOG_LEVEL` example
off the deleted
`proving/empty_blocks.test.ts` to `proving/default_node.test.ts`; linked
the new p2p README from the
category table (the p2p row now reads "yes" and points at
`src/p2p/README.md`); and renamed the
`setupBlockProducer` submission-window literal `1024` to the named
constant `NO_REORG_SUBMISSION_EPOCHS`.
- **`end-to-end/src/single-node/README.md`**: rewrote the `cross-chain/`
row for the merged layout
(`CrossChainMessagingTest` + `message_test_helpers.ts`, and the
`l1_to_l2` / `l1_to_l2_inbox_drift` /
`l2_to_l1` / `token_bridge` files); folded
`public_payments`/`sponsored_payments` into
`private_payments.parallel` and fixed the stale `failures.parallel` name
to `failures`; replaced
`slasher_config`/`sequencer_config` with the merged `runtime_config`;
replaced
`world_state_pruning`/`empty_blocks` with the merged `default_node`;
added the previously-missing
`snapshot_sync` to the `sync/` row; and applied the
`NO_REORG_SUBMISSION_EPOCHS` rename.
- **`end-to-end/src/multi-node/README.md`**: named
`equivocation_offenses` in the slashing row (in place
of the separate `duplicate_proposal`/`duplicate_attestation` files) and
applied the
`NO_REORG_SUBMISSION_EPOCHS` rename in the
`MOCK_GOSSIP_MULTI_VALIDATOR_OPTS` preset.
- **`end-to-end/src/p2p/README.md`** (new): created with the content
added by #24500.
- **`end-to-end/src/automine/README.md`** and
**`end-to-end/src/infra/README.md`**: untouched — both are
behavior-level (no file names) or cover a directory none of the nine PRs
change, so they remain accurate
as-landed.
---------
Co-authored-by: AztecBot <tech@aztec-labs.com>
(cherry picked from commit 1cc5f91)
Each run spawns anvil on port 8545, so two tests can only run side by side if each gets its own
27
+
`ANVIL_PORT` (p2p tests additionally bind fixed p2p ports and can never run concurrently — see
28
+
[`src/p2p/README.md`](src/p2p/README.md)). To shake flakiness out of a test,
29
+
`scripts/deflaker.sh yarn test:e2e <file>` reruns it up to 100 times and stops at the first failure
30
+
(output lands in `scripts/deflaker.log`).
31
+
26
32
Compose-based tests (those under `src/composed/`) need a running local network — see
27
33
[Compose / HA / web3signer tests](#compose--ha--web3signer-tests).
28
34
@@ -37,7 +43,7 @@ its environment, so a test file only describes the scenario, not the wiring.
37
43
|[`automine/`](src/automine/README.md)| One node, deterministic `AutomineSequencer` — one block per tx, no committee/prover/validator. Fast. | it exercises contract or protocol behavior that doesn't depend on real block-building or consensus (transfers, nested calls, note discovery, tx semantics). | yes |
38
44
|[`single-node/`](src/single-node/README.md)| One node, production sequencer (interval block production), optional prover. | it asserts on sequencer, proving, partial-proof, L1-reorg, recovery, fee, or cross-chain behavior on a single sequencer. | yes |
39
45
|[`multi-node/`](src/multi-node/README.md)| N validators on an in-memory mock-gossip bus. | it needs a committee: consensus, attestations, slashing, governance, or multi-validator block production. | yes |
40
-
|`p2p/`| Real libp2p transport between nodes. | the networking transport itself is under test (gossip, rediscovery, req/resp). |—|
46
+
|[`p2p/`](src/p2p/README.md)| Real libp2p transport between nodes. | the networking transport itself is under test (gossip, rediscovery, req/resp). |yes|
41
47
|[`infra/`](src/infra/README.md)| Targets a deployed/external network (local anvil or a public testnet). | its concern is deployment or network targeting, not a specific protocol behavior. | yes |
42
48
43
49
A handful of tests live **outside** this package, next to the code they test — see
@@ -78,7 +84,7 @@ Each category centralizes its environment in a base class. The hierarchy:
78
84
(both wrap `fixtures/setup.ts:setup()`), but fixes the automine topology and makes `AUTOMINE_E2E_OPTS`
79
85
the default. Exposes `markProvenAndWarp`, `registerContract`, `applyManualParentChild`.
80
86
-`p2p/p2p_network.ts` → **`P2PNetworkTest`**. Real libp2p; node creation goes through
81
-
`setup_p2p_test.ts`.
87
+
`fixtures/setup_p2p_test.ts`.
82
88
-`infra/` has no shared base — its tests target a network selected by `L1_CHAIN_ID` (local anvil in CI,
83
89
a public testnet with credentials).
84
90
@@ -91,8 +97,8 @@ Categories expose thin factories over their base's static `setup`, named by what
91
97
calls the factory instead of spreading option presets:
92
98
93
99
-`single-node/setup.ts`: `setupWithProver` (fake in-process prover — the single-node default) and
94
-
`setupBlockProducer` (no prover; raises `aztecProofSubmissionEpochs` to `1024` so unproven blocks
95
-
aren't pruned, and points the PXE at `syncChainTip: 'proposed'`).
100
+
`setupBlockProducer` (no prover; raises `aztecProofSubmissionEpochs` to `NO_REORG_SUBMISSION_EPOCHS`
101
+
(1024) so unproven blocks aren't pruned, and points the PXE at `syncChainTip: 'proposed'`).
0 commit comments