Skip to content

Fix incomplete-output fixture (true truncated value, drop ignore) - #13

Merged
secsovereign merged 1 commit into
mainfrom
fix/incomplete-output-fixture
Sep 18, 2026
Merged

secsovereign merged 1 commit into
mainfrom
fix/incomplete-output-fixture

Conversation

@secsovereign

Copy link
Copy Markdown
Member

Summary

  • test_transaction_incomplete_output was ignored claiming truncated output values are accepted, but the fixture was Core empty-vin + flag=1 (version||0x00||0x01||…), so parse returned Ok empty tx — not a truncated output.
  • Rewrite fixture: ≥1 real input (prevout/scriptSig/sequence), output_count=1, then only 7 value bytes; expect is_err() / InsufficientBytes.
  • Drop #[ignore]. Does not change empty-vin+flag semantics elsewhere. Does not bump PARTIAL_BASELINE.

Test plan

  • cargo fmt / cargo fmt --check
  • CARGO_INCREMENTAL=0 cargo check (with path patch aside → crates.io)
  • CARGO_INCREMENTAL=0 RUST_BACKTRACE=1 cargo test --test engineering_suite test_transaction_incomplete_output (passes without --ignored)

The ignored test used version||0x00||0x01 which Core treats as witness
marker and parses as Ok(empty tx). Build a real input then only 7 value
bytes so deserialize hits InsufficientBytes; drop #[ignore].
@secsovereign
secsovereign merged commit 8063de6 into main Sep 18, 2026
11 checks passed
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