feat(integration): Go-native runner for YAML integration tests (POC)#3537
feat(integration): Go-native runner for YAML integration tests (POC)#3537amir-deris wants to merge 8 commits into
Conversation
PR SummaryLow Risk Overview The runner unmarshals inputs/verifiers, runs commands via CI POC: the Mint & Staking & Bank Module matrix job now runs Reviewed by Cursor Bugbot for commit cac538b. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3537 +/- ##
==========================================
- Coverage 59.12% 58.22% -0.91%
==========================================
Files 2213 2141 -72
Lines 182814 174607 -8207
==========================================
- Hits 108096 101660 -6436
+ Misses 64993 63901 -1092
+ Partials 9725 9046 -679
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
- Run go mod tidy to move gopkg.in/yaml.v3 from indirect to direct deps - Fix shell quoting in CI YAML: replace single quotes in -run regex with escaped double quotes to avoid breaking the echo '...' wrapper in the test runner script Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 4ddd20c. Configure here.

Summary
integration_test/runner/— a Go-native driver for the existing YAML integration test suite that replaces the Pythonrunner.pyfor covered modulesMotivation
The Python runner has a few pain points:
exit(1)) with no subtest isolation-runflag to target a single test case without editing filesprint()statements with no structured test reportingThe Go runner addresses all of these through standard
go testintegration.How it works
Each YAML file maps to a
t.Runsubtest, so failures are isolated and the full-voutput shows every command and its captured output. The eval verifier usesbig.Int → float64 → stringcomparison (in that order) to handle the large token supply integers in the existing YAML assertions without float64 precision loss.Run a single module locally (requires a running cluster):
Target a single test case: