-
Notifications
You must be signed in to change notification settings - Fork 375
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: disable codecov blocking PRs until it understands coverage #3090
Conversation
Signed-off-by: moul <94029+moul@users.noreply.github.com>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #3090 +/- ##
=======================================
Coverage 63.34% 63.34%
=======================================
Files 548 548
Lines 78680 78680
=======================================
Hits 49836 49836
+ Misses 25482 25481 -1
- Partials 3362 3363 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
I think this is also related to the comment I posted: #3088 (comment) IMO:
|
Signal discussion: morgan: 3003: I think we should simply add a few table tests for gno.land/pkg/gnoland/param.go, trying out all parameters and ensuring identity when going from string -> Param -> Param.String(), and error cases; add a test for manfred: Making Codecov happy while testing fewer aspects than this readable end-to-end test: https://github.com/gnolang/gno/pull/3003/files#diff-1b2287b983182dfeeafd315a44921869f7c7545b1e0a883be82a737415cbc13c guillhem: The thing is that we can say the same thing in the opposite way, changing go default behaviors to make Codecov happy Morgan: I would argue the table test is better than this end-to-end test. The test might verify the full functioning on the node; but it does it in a few seconds. (No, "just making them parallel" is not a solution; there is still considerable more computation to be done and if we were to test everything as a txtar tests our CI would be immensely slow). The end-to-end test is in a completely different location compared to the code that it's testing; which has adjacent to it no code that actually show the cases and scenarios where it's supposed to fail and succeed. Manfred: I disagree that WE need both in this case, we need both in general, but in this test we need txtar, and codecov needs the other one. Morgan: Do you agree that when I test something in gno.land/ it shouldn't count as coverage for tm2/pkg/bft? manfred: tm2 needs to be independent from gno.land. It should be self-sustainable in terms of coverage, with its own unit and integration tests. morgan: I don't want to put a global manfred: gno.land/... relies on gno.land/... Therefore, it is essential to conduct end-to-end tests, particularly to evaluate the default behaviors. morgan: Ok, I was making an extreme example to make a point. I still don't think we should deviate from the notion of "we should count coverage in the package only relating to that package's tests." manfred: You can also run -cover locally if you want to ensure that we have unit tests in addition to integration tests. I disagree that 3003 should be red in the current state. But basically here it's a false positive, and when I request tests, it's usually a false-negative. Global -coverpkg for gno.land should IMO make codecov more a friend than a stupid dictator. guillhem: To me, we simply agree that we enforce that the default GO coverage should be respected. Again, it has nothing to do with Codecov, which simply forwards coverage from what we send to it. Morgan: I don't want the default behaviour of contributors to be "Oh, I'll just test this with txtar" and then their coverage is green and I don't see warnings, because I think there's benefit in making small, targeted, fast tests, especially for checking different expected error conditions. And another thing worth noting is that if we were actually testing with In the last point, I mean it's tested even without the integ test you added. manfred: Yes, it's tested, I agree with this statement. My txtar is adding another condition of testing. My PR is an example where I wouldn't make this request because txtar is simply the more efficient, end-to-end, and readable option. Morgan: OK, whatever, let's go with it. Can we restrict it to gno.land/cmd/testdata calculating coverage for gno.land/... for the meantime? If I have an example of somewhere where codecov would have warned us about not testing something, I'll bring this discussion up again.. Closing this. |
Alternative option to #3088 to unlock #3003.