mirror of
https://github.com/logos-blockchain/logos-blockchain-testing.git
synced 2026-02-17 11:43:12 +00:00
18 lines
1.1 KiB
Markdown
18 lines
1.1 KiB
Markdown
# Runner review notes
|
||
|
||
File: `testing-framework/core/src/scenario/runtime/runner.rs`
|
||
|
||
## Concerns
|
||
|
||
1) **Potential hang if workloads don’t self-terminate**
|
||
- `run_workloads` never cancels workloads after the duration expires. It waits for `drive_until_timer` to time out, then optionally does a cooldown, then `drain_workloads` which waits for all tasks to finish. If a workload is long-lived or never exits on its own, the scenario can hang indefinitely after the duration window.
|
||
- Suggestion: call `workloads.abort_all()` when `drive_until_timer` returns `Ok(false)` (timeout) or add a second timeout around `drain_workloads`.
|
||
|
||
2) **Block-feed settle constants are inconsistent**
|
||
- `DEFAULT_BLOCK_FEED_SETTLE_WAIT` is 1s, but `MIN_BLOCK_FEED_SETTLE_WAIT` is 2s. In `settle_before_expectations`, any zero wait becomes 1s and then gets max’d to 2s, so the default is effectively unused.
|
||
- Suggestion: set default ≥ min, or remove the default constant and use min directly.
|
||
|
||
## Questions
|
||
|
||
- Are workloads guaranteed to finish on their own at the end of `scenario.duration()`? If not, the hang risk is real.
|