test(parity): empty allowlist, assert max_delete invariants #302

Merged
TapTap merged 1 commits from fix/parity-allowlist into dev 2026-09-18 22:31:47 +02:00
Owner

Fix: empty parity allowlist / green parity-full

Dev run 577 failed parity-full: the max_delete allowlist entry tripped the stale-entry guard under FASTSYNC_PARITY_STRICT=1 (the survivor order happened to match), while removing the entry made the order-dependent tree mismatch fail.

  • Add a per-case compare_tree option to parity_harness.Case. max_delete now asserts rc=25 plus the survivor count (via extra_check) instead of exact tree identity.
  • Empty parity_caveats.py (burn-down reached zero) and update the README example.

Verified: FASTSYNC_PARITY_STRICT=1 pytest tests/integration/test_differential_parity.py -> 50 passed.

## Fix: empty parity allowlist / green parity-full Dev run 577 failed `parity-full`: the `max_delete` allowlist entry tripped the stale-entry guard under `FASTSYNC_PARITY_STRICT=1` (the survivor order happened to match), while removing the entry made the order-dependent tree mismatch fail. - Add a per-case `compare_tree` option to `parity_harness.Case`. `max_delete` now asserts rc=25 plus the survivor count (via `extra_check`) instead of exact tree identity. - Empty `parity_caveats.py` (burn-down reached zero) and update the README example. Verified: `FASTSYNC_PARITY_STRICT=1 pytest tests/integration/test_differential_parity.py` -> 50 passed.
TapTap added 1 commit 2026-09-18 22:28:45 +02:00
test(parity): assert max_delete invariants, empty the parity allowlist
CI / lint (pull_request) Successful in 1m40s
CI / parity-full (pull_request) Skipped
CI / sanitizers (address) (pull_request) Skipped
CI / sanitizers (undefined) (pull_request) Skipped
CI / fuzz-build (pull_request) Skipped
CI / coverage (pull_request) Skipped
CI / valgrind (pull_request) Skipped
CI / parity-fast (pull_request) Successful in 18s
CI / build-and-test (pull_request) Successful in 52s
3545d88905
The max_delete case allowlisted the tree aspect because the surviving extras after a partial --max-delete abort are deletion-order dependent. Under FASTSYNC_PARITY_STRICT a run where the orders coincide was reported as a stale entry (CI failure), while removing the entry made the order-dependent tree mismatch fail. Add a per-case 'compare_tree' flag: max_delete now asserts rc=25 plus the survivor count via extra_check instead of exact tree identity, so the allowlist can be empty. Burn-down reached zero.
TapTap merged commit 00d628d4ba into dev 2026-09-18 22:31:47 +02:00
TapTap deleted branch fix/parity-allowlist 2026-09-18 22:31:47 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: TapTap/FastSync#302