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
## Summary
- Add `post_test_sleep_duration` config option for a configurable sleep
after each test, allowing clients time for internal cleanup between
tests
- Supports global (`runner.client.config`) and per-instance overrides,
following the existing config pattern (e.g. `wait_after_rpc_ready`)
- Wired into all three executor paths: normal, container strategy, and
checkpoint-restore
## Test plan
- [x] `go build ./pkg/config/ ./pkg/executor/` passes
- [x] `go test ./pkg/config/ ./pkg/executor/` passes
- [x] `go vet ./pkg/config/ ./pkg/executor/` passes
- [x] Manual test with a config using `post_test_sleep_duration: 200ms`
and verify sleep appears in debug logs
| `post_test_rpc_calls` | []object | - | Arbitrary RPC calls to execute after each test step (see [Post-Test RPC Calls](#post-test-rpc-calls)) |
528
+
| `post_test_sleep_duration` | string | - | Sleep duration after each test, e.g. `200ms`, `1s` (see below) |
528
529
| `bootstrap_fcu` | bool/object | - | Send an `engine_forkchoiceUpdatedV3` after RPC is ready to confirm the client is fully synced (see [Bootstrap FCU](#bootstrap-fcu)) |
529
530
| `genesis` | map | - | Genesis file URLs keyed by client type |
530
531
@@ -704,6 +705,23 @@ The timeout covers only the test execution phase — container setup, image pull
704
705
- When you want to enforce a maximum wall-clock time per instance
705
706
- When running in CI/CD environments with time constraints
706
707
708
+
##### Post-Test Sleep Duration
709
+
710
+
The `post_test_sleep_duration` option adds a configurable pause after each test completes (after rollback and post-test RPC calls, but before the next test begins). This is useful for clients that need time to complete internal cleanup between tests.
711
+
712
+
```yaml
713
+
runner:
714
+
client:
715
+
config:
716
+
post_test_sleep_duration: 200ms
717
+
```
718
+
719
+
Uses Go duration format (e.g., `200ms`, `1s`, `5s`). Default is `0` (disabled).
720
+
721
+
**When to use:**
722
+
- When a client needs time for internal cleanup between tests
723
+
- When you observe flaky results due to rapid successive test execution
724
+
707
725
##### Retry New Payloads Syncing State
708
726
709
727
When `engine_newPayload` returns a `SYNCING` status, it indicates the client hasn't fully processed the parent block yet. The `retry_new_payloads_syncing_state` option configures automatic retries with exponential backoff.
@@ -875,6 +893,7 @@ runner:
875
893
| `retry_new_payloads_syncing_state` | object | No | From `runner.client.config` | Instance-specific retry config for SYNCING responses |
876
894
| `resource_limits` | object | No | From `runner.client.config` | Instance-specific resource limits |
877
895
| `post_test_rpc_calls` | []object | No | From `runner.client.config` | Instance-specific post-test RPC calls (replaces global) |
896
+
| `post_test_sleep_duration` | string | No | From `runner.client.config` | Instance-specific post-test sleep duration |
878
897
| `bootstrap_fcu` | bool/object | No | From `runner.client.config` | Instance-specific bootstrap FCU setting |
0 commit comments