test(app): add smoke test#541
Conversation
|
@claude review this PR |
|
Claude finished @iamquang95's task in 4m 29s —— View job Claude PR Review — test(app): add smoke testI reviewed the full diff ( What's solid
Observations / minor
None of these are blockers. Nice work — the deviation comments in particular make this easy to audit against upstream. |
|
First, clone this branch and go to The 4 pluto scenarios vary two independent things — who generates keys vs who runs the cluster — plus DKG-vs-trusted-dealer:
What each one actually proves
It also covers the charon→pluto artifact direction (charon does keygen here), so the two artifact directions together are covered by mixed + keygen_create. This is the only scenario that proves pluto and charon can actually run a validator together.
Gaps worth knowing
|
Add docker-compose smoke tests (charon parity + pluto/charon node mixing)
Ports charon v1.7.1's testutil/compose smoke-test framework to test-infra/compose, adding a per-node implementation axis so clusters can mix charon and pluto nodes. Each scenario builds a real cluster (keygen → run with simnet mocks → 60s under Prometheus alert gating); any firing alert fails the test.
Scenarios cover charon's full matrix plus pluto variants (all_pluto, mixed_2_charon_2_pluto, pluto_dkg, gated behind -pluto-run). all_pluto passes against feat/simnet-run: 4 nodes reach QBFT consensus, threshold-sign, and broadcast duties with zero errors/warnings.
Deviations from charon (each commented):
Run: PLUTO_REPO= go test ./smoke -v -integration [-pluto-run]