-
Notifications
You must be signed in to change notification settings - Fork 386
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
test(gnovm): test performance improvements #3210
test(gnovm): test performance improvements #3210
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅ 📢 Thoughts on this report? Let us know! |
Merge RequirementsThe following requirements must be fulfilled before a pull request can be merged. These requirements are defined in this configuration file. Automated Checks🟢 Maintainers must be able to edit this pull request Details
Manual ChecksNo manual checks match this pull request. |
The tests are "slower" now because, putting stdlibs and filetests in /gnolang rather than /tests, code coverage is tracked more "correctly" (ie. filetests count towards the coverage), but running filetests and stdlib tests with coverage enabled on all pkg/gnolang has a big performance cost (
Currently, we are running with |
@gfanton, the ball is now onto you to lower the tests in gno.land down to ~10 mins ;) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me
Fix master CI runs, and miscellaneous improvements locally, too. - ci: switch to using `-covermode=set` rather than atomic, as it significantly degrades performance while not being shown on codecov. [more info](gnolang#3210 (comment)) - gnolang tests: use `t.Parallel()` to parallelize known "long" tests, both in `-short` and long versions. - stdlibs: provide `unicode` native shims for some common functions used in some standard library tests. This may lead to some small inconsistencies between on-chain behaviour and off-chain should the `unicode` packages diverge; but I think we might we might want to consider a native-based `unicode` stdlib, anyway. - thanks to these improvements, there is no longer the need to run `-short` on PRs, as the CI runs in ~9 mins, ie. 8 minutes less than the gno.land tests.
Fix master CI runs, and miscellaneous improvements locally, too.
-covermode=set
rather than atomic, as it significantly degrades performance while not being shown on codecov. more infot.Parallel()
to parallelize known "long" tests, both in-short
and long versions.unicode
native shims for some common functions used in some standard library tests. This may lead to some small inconsistencies between on-chain behaviour and off-chain should theunicode
packages diverge; but I think we might we might want to consider a native-basedunicode
stdlib, anyway.-short
on PRs, as the CI runs in ~9 mins, ie. 8 minutes less than the gno.land tests.