• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Chia-Network / chia-blockchain / 24932031266 / 1
91%
main: 91%

Build:
DEFAULT BRANCH: main
Ran 25 Apr 2026 03:49PM UTC
Files 1812
Run time 41s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 Apr 2026 07:01PM UTC coverage: 91.255% (+0.03%) from 91.227%
24932031266.1

push

github

web-flow
[CHIA-4180] Detect spend bundle rejections early in wallet test framework (#20768)

* Detect spend bundle rejections early in wallet test framework

The mempool-wait loop in wait_transaction_records_entered_mempool now
optionally checks the wallet's transaction store for non-recoverable
rejection errors and raises immediately instead of waiting for the full
timeout. process_pending_states error messages now include the original
exception for better CI diagnostics.

* Bump transaction rejection logs from INFO to WARNING

The ValueError and ValidationError rejection messages in
respond_transaction were logged at INFO level, which is below the
captured log threshold in tests. This made INVALID_SPEND_BUNDLE
rejections invisible in CI output — only the wallet-side warning
appeared, with no indication of the actual rejection reason (e.g.
"timeout 2.3 s", "too many pairs", validation error code).

Bumping to WARNING ensures the rejection reason appears in captured
test logs alongside the wallet rejection warning.

* Fix false-positive rejection detection for retried transactions

Address bugbot finding: sent_to accumulates both FAILED and SUCCESS
entries since increment_sent always appends. A transaction rejected by
one peer then accepted by another would trigger a spurious RuntimeError
on the stale FAILED entry.

Fix: (1) prune tx names from the rejection check set once their bundle
is found in the mempool, and (2) skip records that already report
is_in_mempool() (have a SUCCESS or PENDING entry), matching the
semantics of TransactionRecord.is_valid().

* Add tests for rejection detection and ValueError coverage paths

Cover the four lines flagged by diff-cover:
- full_node.py:2818 — ValueError handler in add_transaction
- full_node_simulator.py:536 — continue when wallet reports in_mempool
- full_node_simulator.py:538,543 — fast-fail RuntimeError on non-recoverable rejection

* Revert unrelated log level change per review feedback

Drop the info→warning bu... (continued)

21068 of 23450 branches covered (89.84%)

Branch coverage included in aggregate %.

214920 of 235152 relevant lines covered (91.4%)

0.91 hits per line

Source Files on job 24932031266.1
  • Tree
  • List 1812
  • Changed 13
  • Source Changed 3
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 24932031266
  • 3f72d820 on github
  • Prev Job for on main (#24781358263.1)
  • Next Job for on main (#24957851778.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc