Skip to content

Refactor instance tests around a network harness - #508

Draft
samliok wants to merge 1 commit into
transition-listenerfrom
instance-test-refactor
Draft

Refactor instance tests around a network harness#508
samliok wants to merge 1 commit into
transition-listenerfrom
instance-test-refactor

Conversation

@samliok

@samliok samliok commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Final PR of the cleanup-instance stack (4/4), on top of the transition listener PR.

  • All scaffolding moves to instance_testhelpers_test.go, rebuilt around a network harness: addNode, acceptNewBlock, waitUntilSealingBlock. The queue-based inMemNetwork is replaced by instanceComm, which delivers messages directly and re-parses blocks so recipients do not share mutable canoto state.
  • instance_test.go becomes short scenario tests. Epoch sealing tests now rely on production approval/aux info dissemination instead of hand-injecting approvals (removing the old TODO).
  • New coverage: validator set unchanged/decreased, a validator skipping an epoch, and signer-set assertions proving a promoted non-validator contributes its approval.
  • TestParseBlockSizeMatchesBytes moves verbatim to external_test.go next to external.go.
  • TestNonValidator_StaysNonValidator (replacing TestInstanceNonValidatorBootstraps) is skipped pending offline-node timeouts, and TestInstanceRestartAcrossEpochs is dropped (the node.restart() helper remains unused).

Replace the queue-based inMemNetwork with a network harness whose instanceComm
delivers messages directly and re-parses blocks so recipients do not share
canoto state. Scenario tests shrink to short flows against the harness, and
epoch sealing tests rely on production approval dissemination instead of
injecting approvals. Move TestParseBlockSizeMatchesBytes next to external.go.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant