fix(ci,tooling): include json-loader in coverage reports#2975
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## forks/amsterdam #2975 +/- ##
===================================================
+ Coverage 90.13% 93.02% +2.89%
===================================================
Files 620 620
Lines 36641 38714 +2073
Branches 3311 3311
===================================================
+ Hits 33026 36015 +2989
+ Misses 3019 1813 -1206
- Partials 596 886 +290
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
danceratopz
left a comment
There was a problem hiding this comment.
Hey Sam, the changes look good, but, assuming it's the 90.53% number (below is copied from the codecov bot comment) you want to improve, we haven't achieved that goal yet.
@@ Coverage Diff @@
## forks/amsterdam #2975 +/- ##
===================================================
- Coverage 90.53% 88.81% -1.72%
===================================================
Files 535 620 +85
Lines 32893 38706 +5813
Branches 3021 3310 +289
===================================================
+ Hits 29780 34378 +4598
- Misses 2595 3520 +925
- Partials 518 808 +290
This is because ./tests/json_loader/ imports more modules that weren't previously imported by running just fill. So although we gain coverage for src/ethereum/genesis.py, we lose coverage absolutely due to these new imports.
Looking into it, the coverage report now newly includes ./src/ethereum/forks/spurious_dragon/ and ./src/ethereum/forks/tangerine_whistle/ which leads to the coverage drop. json_loader imports these forks, but fill doesn't: These forks are currently configured to be ignored by fill (ignore=True), so didn't previously get imported or contribute to the coverage report:
execution-specs/packages/testing/src/execution_testing/forks/forks/forks.py
Lines 1341 to 1348 in 26ff8a6
Wdyt? Should we configure codecov to ignore these forks, too? That seems reasonable to me. We could add them here:
execution-specs/pyproject.toml
Lines 299 to 304 in 26ff8a6

🗒️ Description
Coverage wasn't being collected for json_loader, so files like
genesis.pywere showing as 0%.Cute Animal Picture