Honey, I Shrunk the Test Run: Protocol-Native Execution Client System Tests, 10-??× Faster
Duration: NaN:NaN:NaN
Speaker: danceratopz
Type: Talk
Expertise: Some familiarity with the topic
Event: Devcon
Date: Nov 2026
The original consensus-test simulators start a fresh execution client container for every test, although client startup and Docker initialization dominate runtime at roughly 1-7 seconds. EngineX moves the optimization upstream: the test vector generator merges compatible pre-states into shared genesis configurations, then generates independent test chains that can safely execute on one reused client. WireX builds on this design by generating the extra chain structure needed to force full sync without changing what each test asserts, then replaces the existing client-specific offline RLP import with a deterministic mock devp2p peer and the client’s production full-sync path. The result is a 10-??× end-to-end speedup without reducing the corpus, plus implicit reorg and wire-protocol coverage. I’ll show how test generation, together with a few tricks and fixes in the underlying test system, made this possible, and what we learned about safely reusing clients in consensus testing.