Skip to content

fix(test): flush remaining regular-test execution logs - #202

Merged
Arvolear merged 2 commits into
BlockstreamResearch:devfrom
brenorb:fix/regular-test-trace-flush
Nov 10, 2026
Merged

Arvolear merged 2 commits into
BlockstreamResearch:devfrom
brenorb:fix/regular-test-trace-flush

Conversation

@brenorb

@brenorb brenorb commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator

Regular tests that execute a program directly can leave requested verbose output buffered when the test returns, catches an execution failure, or panics. Those paths bypass the Signer's log flush.

Flush the remaining buffers when the regular test context is dropped, before existing node cleanup. Output already flushed by the Signer or explicitly by the caller stays cleared and isn't printed again. SDK execution and fee-estimation buffering are unchanged: direct SDK callers still own per-execution flushing, and a later execution can replace an earlier buffer for the same input. This change doesn't promise a complete execution history.

Fixes #170.

Validation:

  • On upstream a1bf060, node-free probes reproduce missing traces for direct successful and failed execution, including after a regular context is dropped. Explicit flushing prints the buffered DBG/jet output.
  • Three new subprocess-based tests fail before the fix while the quiet/manual-flush/Signer controls pass. All six integration tests pass afterward, covering Debug and Trace success, caught failure, unwinding, default quiet behavior, explicit flush, and actual Signer fee estimation without duplicate output.
  • cargo test --locked --offline -p smplx-sdk -p smplx-test: 104 tests pass. One ignored helper is intentionally invoked in fresh subprocesses so each scenario owns its GlobalConfig and its stderr can be checked.
  • All cases use synthetic transactions and an unused local Esplora endpoint; no node or broadcast is required. Extra quiet-mode failure/panic probes emit no execution trace.
  • cargo clippy --locked --offline -p smplx-sdk -p smplx-test --all-targets -- -D warnings and cargo fmt --all --check pass.
  • Independent agent review found no blocking issue. Existing SDK documentation work in docs(sdk): document programs, verbosity and utilities in rustdoc #194 remains separate.

Written by Codex.

@brenorb
brenorb requested a review from Arvolear as a code owner November 5, 2026 07:59
@Arvolear
Arvolear force-pushed the fix/regular-test-trace-flush branch from f245801 to 5a71e7c Compare November 10, 2026 15:18
@Arvolear
Arvolear changed the base branch from master to dev November 10, 2026 15:19

@Arvolear Arvolear left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@Arvolear
Arvolear merged commit 9f83e7d into BlockstreamResearch:dev Nov 10, 2026
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.

simplex test -vv silently discards the execution trace unless Signer builds the transaction

2 participants