test: close post-merge coverage gaps from #22/#23/#25 (minter, BSC hang, SIGTERM, pause e2e, LocalTerra) #28
Labels
No labels
enhancement
governance
QA
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
code/ust1-window#28
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Close the automated coverage / CI gaps called out in verification notes when merging #22 (!40), #23 (!35), and #25 (!41). Implementation for those issues landed; several acceptance “fork or integration / automated / LocalTerra” paths remain open.
Sources (verification follow-ups):
UpdateMinter(None)deletesMINTERS(M-8 AC);bsc.rstimeouts without hang/wiremock test (M-19); SIGTERM handler without automated probe (L-10); TEST-16 LocalTerra e2e not in CIOut of scope here: new product features (H-1 → #26; C-2 remaining → #27); pure mainnet ops probes (live withdraw, staging restart logs).
Current codebase
cw20-mintablepinned8a50c36(fork PR); claimed in README INV-MINTER-001UpdateMinter(None)oracle-service/src/bsc.rshas reqwest/transport timeouts;evm_rpc/terra_txhave wiremock testsoracle-service/src/main.rsshutdown_signal+tokio::select!run_onceequal-rate /check_rate_updateErr skip broadcastoracle_paused_blocks_deposit_and_withdraw_while_rate_freshust1-integration-testscaserustjob runs unit/integrationWhy this is needed
run_oncesuccess gating.Constraints / guardrails
record_successful_broadcast./healthzremains process-up only (do not assert rate freshness).manualorallow_failureonly if documented; prefer a fast subset always-on.Relevant files
contracts/ust1-window/ integration tests — M-8 minter delete; oracle-pause integrationoracle-service/src/{bsc,main,liveness}.rs(+ test mods) — hang timeout, SIGTERM, skip-path regressionssmartcontracts-terraclassic/tests/src/integration_tests.rs(or sibling) — oracle pause fail-closed.gitlab-ci.yml/.github/workflows/ci.yml— optional LocalTerra/e2e jobscripts/LocalTerra helpers,docs/DEPLOYMENT.md— document how to run gated jobsskills/audit-hardening-bundle,skills/oracle-liveness-confirm,skills/oracle-circuit-breaker— checklist updatesRecommended direction
UpdateMinter(None)(or fork API equivalent) → assert minter metadata/map entry gone; re-add works.read_exchange_rate_stored/ provider build path errors withinBSC_RPC_TIMEOUT_SECS(and tick timeout still boundsrun_once).shutdown_signal/ select branch with a testable hook, or spawn binary/helper under timeout and send SIGTERM expecting exit 0 + graceful log (document approach).run_oncewith equal rate and with policy reject → no confirm poll / no liveness advance.OraclePausedwhile age fresh → unpause → success.Acceptance criteria
cw20-mintableUpdateMinter(None)clearsMINTERS(M-8).cargo test/ clippy still green.Test plan (all paths)
run_onceskips broadcast; liveness timestamp unchanged.Test plan (attack / hack / abuse vectors)
cw20-mintableto a rev that keeps staleMINTERS→ in-repo test must fail.SetPaused, not a mocked client flag.allow_failureforever without tracking — docs must state ownership; prefer artifact/junit visibility.Verification criteria
marked as related to #22
marked as related to #23
marked as related to #25
mentioned in commit
695e577065mentioned in merge request !45
Coverage backfill implemented in !45 (worktree
fix/issue-28-coverage-gaps).Done (AC):
UpdateMinter(None)/ rotation clearsMINTERS—ust1-integration-testscw20_minter_integrationBSC_RPC_TIMEOUT_SECS—oracle-servicebsc::testsoperator_loop+shutdown_signal_with_hooktests (L-10)decide_tick_action+run_once_*wiremockoracle_paused_blocks_deposit_and_withdraw_while_rate_freshlocalterra-e2e/make test-localterra-smoke(skip-clean without LCD)cargo test/ clippy greenNot done (documented): full LocalTerra wasm deploy automation; real SIGTERM-to-cargo-test process; mainnet ops probes.
mentioned in commit
cf2c31a130mentioned in commit
4747039a50