Skip to content
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: consider adding back the gnovm parallel testing #2826

Closed
moul opened this issue Sep 21, 2024 · 6 comments · Fixed by #3119
Closed

ci: consider adding back the gnovm parallel testing #2826

moul opened this issue Sep 21, 2024 · 6 comments · Fixed by #3119

Comments

@moul
Copy link
Member

moul commented Sep 21, 2024

With the overhaul of GitHub Actions in PR (#2040), we switched from nine parallel CI jobs for gnovm to a single job. This change has made the CI check longer, and it slows down our (my?) ability to identify the root cause of a problem when we need to sift through a large log for errors.

What do you think about setting up a parallel gnovm test as we did before?

See https://github.com/gnolang/gno/pull/2040/files#diff-c4113e9299b96c08f4bd91c5bf070f0f0feb6ae61f3f19d845a6501d419c9658L62-L71

@thehowl
Copy link
Member

thehowl commented Sep 26, 2024

cc @ajnavarro.

Can we make the gnovm test shorter without having to split it up again?

@ajnavarro
Copy link
Contributor

Most of the 17 minutes running the tests are spent on testing StdLibs:

github.com/gnolang/gno/gnovm/tests TestStdlibs 6m32.51s
github.com/gnolang/gno/gnovm/tests TestStdlibs/regexp/syntax 2m42.69s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bytes 2m36.56s
github.com/gnolang/gno/gnovm/tests TestFiles 1m8.98s
github.com/gnolang/gno/gnovm/tests TestStdlibs/regexp/syntax/TestFoldConstants 52.25s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bytes/TestCompareBytes 51.99s
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles 39.71s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts 27.92s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bytes/TestCountByte 23.81s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_test/flag_run 19.59s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bufio 18.59s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bytes/TestGrow 17.34s
github.com/gnolang/gno/gnovm/tests TestStdlibs/sort 13.4s
github.com/gnolang/gno/gnovm/tests TestStdlibs/regexp 12.36s
github.com/gnolang/gno/gnovm/tests TestStdlibs/regexp/TestSwitchBacktrack 8.189s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bufio/TestScanLongLines 7.99s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bufio/TestSpace 7.83s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_test/pkg_underscore_test 7.46s
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/rand 7.44s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_test/valid_test 7.17s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_test/recover 6.4s
github.com/gnolang/gno/gnovm/pkg/gnomod TestFetchDeps 4.98s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_test/panic 4.45s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_test/failing_test 4.41s
github.com/gnolang/gno/gnovm/cmd/gno Test_ScriptsTranspile/valid_output_gobuild 4.31s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_transpile/valid_output_gobuild 4.18s
github.com/gnolang/gno/gnovm/cmd/gno Test_ScriptsTranspile/valid_gobuild_flag 4.18s
github.com/gnolang/gno/gnovm/cmd/gno Test_ScriptsTranspile/valid_gobuild_file 4.12s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_test/flag_print-runtime-metrics 4.07s
github.com/gnolang/gno/gnovm/cmd/gno Test_ScriptsTranspile/gobuild_flag_build_error 4.059s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_transpile/gobuild_flag_build_error 4.03s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_transpile/valid_gobuild_file 3.99s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_transpile/valid_gobuild_flag 3.89s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bytes/TestIndexNearPageBoundary 3.86s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bytes/TestIndexByteNearPageBoundary 3.85s
github.com/gnolang/gno/gnovm/tests TestStdlibs/sort/TestStableBM 3.73s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_test/realm_boundmethod 3.59s
github.com/gnolang/gno/gnovm/tests TestStdlibs/regexp/syntax/TestSimplify 3.55s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_test/minim2 3.5s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_test/skip 3.3s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_test/test_with-native-fallback 3.27s
github.com/gnolang/gno/gnovm/pkg/gnomod TestFetchDeps/fetch_gno.land/p/demo/blog 3.18s
github.com/gnolang/gno/gnovm/tests TestFiles/assign_unnamed_type/more/cross_realm_compositelit_filetest_stdlibs.gno 3.06s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bytes/TestCountByteNoMatch 2.9s
github.com/gnolang/gno/gnovm/pkg/gnolang TestDebug 2.88s
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/rand/TestNonStandardNormalValues 2.71s
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/bin0.gno 2.63s
github.com/gnolang/gno/gnovm/tests TestFiles/struct36.gno 2.32s
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/bin4.gno 2.3s
github.com/gnolang/gno/gnovm/tests TestFiles/bin0.gno 2.28s
github.com/gnolang/gno/gnovm/tests TestStdlibs/sort/TestCountStableOps 2.27s
github.com/gnolang/gno/gnovm/tests TestStdlibs/sort/TestAdversary 2.26s
github.com/gnolang/gno/gnovm/tests TestStdlibs/sort/TestSortBM 2.26s
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/type23b.gno 2.14s
github.com/gnolang/gno/gnovm/tests TestFiles/bin4.gno 1.98s
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/overflow 1.75s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bytes/TestBufferGrowth 1.71s
github.com/gnolang/gno/gnovm/cmd/gno TestRunApp 1.64s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bufio/TestScanLineTooLong 1.63s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bytes/TestIndexByteBig 1.63s
github.com/gnolang/gno/gnovm/pkg/gnomod TestFetchDeps/fetch_gno.land/p/demo/avl 1.58s
github.com/gnolang/gno/gnovm/tests TestMachineTestMemPackage 1.56s
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/type20.gno 1.48s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm12_stdlibs.gno 1.46s
github.com/gnolang/gno/gnovm/tests TestStdlibs/regexp/TestOnePassCutoff 1.46s
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/bits 1.43s
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/defer3.gno 1.4s
github.com/gnolang/gno/gnovm/tests TestStdlibs/math 1.38s
github.com/gnolang/gno/gnovm/tests TestStdlibs/bytes/TestIndexByteSmall 1.35s
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/struct37.gno 1.3s
github.com/gnolang/gno/gnovm/tests TestStdlibs/testing 1.3s
github.com/gnolang/gno/gnovm/cmd/gno TestRunApp/run_..~..~tests~integ~undefined_variable_test~undefined_variables_test.gno 1.29s
github.com/gnolang/gno/gnovm/tests TestFiles/type_alias.gno 1.27s
github.com/gnolang/gno/gnovm/tests TestFiles/struct37.gno 1.26s
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/rand/TestFloat32 1.26s
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/rand/TestNonStandardExponentialValues 1.26s
github.com/gnolang/gno/gnovm/cmd/gno TestLintApp 1.24s
github.com/gnolang/gno/gnovm/tests TestStdlibs/unicode/utf8 1.23s
github.com/gnolang/gno/gnovm/cmd/gno TestLintApp/lint_..~..~tests~integ~undefined_variable_test~undefined_variables_test.gno 1.23s
github.com/gnolang/gno/gnovm/tests TestFilesNative 1.1s
github.com/gnolang/gno/gnovm/tests TestFiles/star_assign.gno 1.1s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm4_stdlibs.gno 1.1s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_tests0_stdlibs.gno 1.08s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_std5_stdlibs.gno 1.07s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm6_stdlibs.gno 1.07s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm9_stdlibs.gno 1.06s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm2_stdlibs.gno 1.06s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm8_stdlibs.gno 1.05s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm7_stdlibs.gno 1.05s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm0_stdlibs.gno 1.05s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm5_stdlibs.gno 1.05s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_std4_stdlibs.gno 1.05s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm10_stdlibs.gno 1.05s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm3_stdlibs.gno 1.04s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm1_stdlibs.gno 1.04s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_initctx_stdlibs.gno 1.04s
github.com/gnolang/gno/gnovm/tests TestStdlibs/encoding/base64 1.03s
github.com/gnolang/gno/gnovm/tests TestStdlibs/encoding/hex 1.03s
github.com/gnolang/gno/gnovm/cmd/gno Test_ScriptsTranspile 1.03s
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm11_stdlibs.gno 1.03s
github.com/gnolang/gno/gnovm/cmd/gno TestModApp 1.03s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_fmt 1.03s
github.com/gnolang/gno/gnovm/tests TestStdlibs/net/url 1.02s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_test 1.02s
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_lint 1.01s
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/std3_stdlibs.gno 1.01s
github.com/gnolang/gno/gnovm/tests TestStdlibs/encoding/binary 1s
github.com/gnolang/gno/gnovm/tests TestStdlibs/crypto/chacha20/chacha 1s
github.com/gnolang/gno/gnovm/pkg/gnolang TestDebug/#57 980ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestDebug/#59 980ms
github.com/gnolang/gno/gnovm/tests TestFiles/std3_stdlibs.gno 980ms
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_transpile 960ms
github.com/gnolang/gno/gnovm/tests TestFiles/defer3.gno 950ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/unicode 950ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/errors 940ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/overflow/TestAlgorithms 930ms
github.com/gnolang/gno/gnovm/tests TestFiles/time3_stdlibs.gno 910ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/crypto/chacha20 890ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/io2.gno 880ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/struct36.gno 880ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestDebug/#58 870ms
github.com/gnolang/gno/gnovm/tests TestFiles/append1.gno 860ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/io 860ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/zregexp_stdlibs.gno 850ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/crypto/ed25519 830ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/std 830ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/crypto/sha256 820ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/strings 820ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time14_stdlibs.gno 810ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time13_stdlibs.gno 810ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/append2.gno 810ms
github.com/gnolang/gno/gnovm/tests TestFiles/append2.gno 810ms
github.com/gnolang/gno/gnovm/tests TestFiles/io2.gno 800ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/hash 790ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/issue_880.gno 790ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/unicode/utf16 790ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/path 790ms
github.com/gnolang/gno/gnovm/tests TestMachineTestMemPackage/TestSuccess 780ms
github.com/gnolang/gno/gnovm/tests TestMachineTestMemPackage/TestFail 780ms
github.com/gnolang/gno/gnovm/tests TestFiles/time4_stdlibs.gno 780ms
github.com/gnolang/gno/gnovm/tests TestSuccess 780ms
github.com/gnolang/gno/gnovm/tests TestFail 780ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/append1.gno 780ms
github.com/gnolang/gno/gnovm/tests TestFiles/issue_880.gno 760ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm4.gno 730ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm5.gno 730ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/sort/TestCountSortOps 730ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/type24b.gno 720ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm7.gno 720ms
github.com/gnolang/gno/gnovm/tests TestFiles/type23b.gno 720ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm6.gno 720ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/ptr7.gno 720ms
github.com/gnolang/gno/gnovm/tests TestFiles/ptr7.gno 710ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/issue_558b_stdlibs.gno 710ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm14.gno 700ms
github.com/gnolang/gno/gnovm/tests TestFiles/type24b.gno 700ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/rand/TestStandardNormalValues 690ms
github.com/gnolang/gno/gnovm/tests TestFiles/zregexp_stdlibs.gno 680ms
github.com/gnolang/gno/gnovm/tests TestFiles/issue_558b_stdlibs.gno 680ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/sort/TestNonDeterministicComparison 670ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/rand/TestStandardExponentialValues 630ms
github.com/gnolang/gno/gnovm/tests TestFiles/struct13_stdlibs.gno 610ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/zavltree1.gno 600ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/regexp/syntax/TestToStringEquivalentParse 590ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/zavltree0.gno 580ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/const19.gno 570ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/zavltree.gno 570ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/types/eql_0f31.gno 560ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/types/cmp_databyte.gno 560ms
github.com/gnolang/gno/gnovm/tests TestFiles/types/cmp_databyte.gno 560ms
github.com/gnolang/gno/gnovm/tests TestFiles/type20.gno 550ms
github.com/gnolang/gno/gnovm/tests TestFiles/types/eql_0f31.gno 550ms
github.com/gnolang/gno/gnovm/cmd/gno TestModApp/mod_download..~..~tests~integ~require_invalid_module 540ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/const18.gno 530ms
github.com/gnolang/gno/gnovm/tests TestFiles/const18.gno 530ms
github.com/gnolang/gno/gnovm/tests TestFiles/access2_stdlibs.gno 520ms
github.com/gnolang/gno/gnovm/tests TestFiles/time2_stdlibs.gno 520ms
github.com/gnolang/gno/gnovm/tests TestFiles/zavltree.gno 520ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time8.gno 500ms
github.com/gnolang/gno/gnovm/tests TestFiles/time13_stdlibs.gno 490ms
github.com/gnolang/gno/gnovm/cmd/gno TestModApp/mod_download..~..~tests~integ~replace_with_invalid_module 480ms
github.com/gnolang/gno/gnovm/tests TestFiles/zavltree1.gno 470ms
github.com/gnolang/gno/gnovm/tests TestFiles/zavltree0.gno 460ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time12_stdlibs.gno 450ms
github.com/gnolang/gno/gnovm/tests TestFiles/io0_stdlibs.gno 430ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/io0_stdlibs.gno 430ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/bytes/TestNotEqual 410ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/sort/TestSortLarge_Random 410ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/unicode/utf8/TestSequencing 400ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time15.gno 400ms
github.com/gnolang/gno/gnovm/tests TestFiles/time15.gno 400ms
github.com/gnolang/gno/gnovm/tests TestFiles/time1_stdlibs.gno 400ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_std6_stdlibs.gno 390ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/import4.gno 380ms
github.com/gnolang/gno/gnovm/tests TestFiles/struct14.gno 380ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time9_stdlibs.gno 380ms
github.com/gnolang/gno/gnovm/tests TestFiles/float5_stdlibs.gno 370ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_natbind0_stdlibs.gno 370ms
github.com/gnolang/gno/gnovm/tests TestFiles/const19.gno 370ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm12_stdlibs.gno 370ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_std3_stdlibs.gno 360ms
github.com/gnolang/gno/gnovm/tests TestFiles/import4.gno 360ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_std2_stdlibs.gno 360ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_std1_stdlibs.gno 360ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm13a_stdlibs.gno 360ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_const_stdlibs.gno 360ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_testutils0_stdlibs.gno 360ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_std0_stdlibs.gno 360ms
github.com/gnolang/gno/gnovm/tests TestFiles/time14_stdlibs.gno 350ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/bytes/TestEndianBaseCompare 350ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/float5_stdlibs.gno 350ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/access1_stdlibs.gno 340ms
github.com/gnolang/gno/gnovm/tests TestFiles/access7_stdlibs.gno 340ms
github.com/gnolang/gno/gnovm/tests TestFiles/float4.gno 340ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time11_stdlibs.gno 330ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/access0_stdlibs.gno 330ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/access3_stdlibs.gno 330ms
github.com/gnolang/gno/gnovm/tests TestFiles/access5_stdlibs.gno 330ms
github.com/gnolang/gno/gnovm/tests TestFiles/stdlibs_stdlibs.gno 330ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/std4_stdlibs.gno 330ms
github.com/gnolang/gno/gnovm/cmd/gno TestRunApp/run_-expr_Context()_..~..~tests~integ~context~context.gno 320ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/access4_stdlibs.gno 320ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/access7_stdlibs.gno 320ms
github.com/gnolang/gno/gnovm/tests TestFiles/time6_stdlibs.gno 320ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/access6_stdlibs.gno 320ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/std8_stdlibs.gno 320ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/std6_stdlibs.gno 310ms
github.com/gnolang/gno/gnovm/tests TestFiles/access6_stdlibs.gno 310ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/std0_stdlibs.gno 310ms
github.com/gnolang/gno/gnovm/tests TestFiles/std8_stdlibs.gno 310ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/float4.gno 310ms
github.com/gnolang/gno/gnovm/tests TestFiles/std5_stdlibs.gno 310ms
github.com/gnolang/gno/gnovm/tests TestFiles/fun22.gno 300ms
github.com/gnolang/gno/gnovm/tests TestFiles/std7_stdlibs.gno 300ms
github.com/gnolang/gno/gnovm/tests TestFiles/access3_stdlibs.gno 300ms
github.com/gnolang/gno/gnovm/tests TestFiles/std4_stdlibs.gno 300ms
github.com/gnolang/gno/gnovm/tests TestFiles/std11_stdlibs.gno 300ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/std11_stdlibs.gno 300ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/std9_stdlibs.gno 300ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/std5_stdlibs.gno 290ms
github.com/gnolang/gno/gnovm/tests TestFiles/std2_stdlibs.gno 290ms
github.com/gnolang/gno/gnovm/tests TestFiles/std10_stdlibs.gno 290ms
github.com/gnolang/gno/gnovm/tests TestFiles/math0_stdlibs.gno 290ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/math0_stdlibs.gno 290ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/std2_stdlibs.gno 290ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/access5_stdlibs.gno 280ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/std10_stdlibs.gno 280ms
github.com/gnolang/gno/gnovm/tests TestFiles/access4_stdlibs.gno 280ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time0_stdlibs.gno 280ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/std7_stdlibs.gno 280ms
github.com/gnolang/gno/gnovm/tests TestFiles/std6_stdlibs.gno 270ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/assign0b_stdlibs.gno 270ms
github.com/gnolang/gno/gnovm/tests TestFiles/std9_stdlibs.gno 270ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/fun22.gno 260ms
github.com/gnolang/gno/gnovm/tests TestFiles/std0_stdlibs.gno 260ms
github.com/gnolang/gno/gnovm/pkg/repl TestRepl 250ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time7_stdlibs.gno 240ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/testing/Test_GenerateRandomBool 240ms
github.com/gnolang/gno/gnovm/pkg/repl TestRepl/Fibonacci 240ms
github.com/gnolang/gno/gnovm/tests TestFiles/access0_stdlibs.gno 230ms
github.com/gnolang/gno/gnovm/tests TestFiles/access1_stdlibs.gno 230ms
github.com/gnolang/gno/gnovm/tests TestFiles/struct11.gno 230ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/bufio/TestHugeBuffer 220ms
github.com/gnolang/gno/gnovm/tests TestFiles/map13.gno 220ms
github.com/gnolang/gno/gnovm/tests TestFiles/assign0b_stdlibs.gno 220ms
github.com/gnolang/gno/gnovm/pkg/gnomod TestFetchDeps/not_exists 220ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/struct11.gno 220ms
github.com/gnolang/gno/gnovm/tests TestFiles/method27.gno 220ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/addr0b_stdlibs.gno 220ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/method27.gno 220ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/zrealm_crossrealm13_stdlibs.gno 210ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time1_stdlibs.gno 210ms
github.com/gnolang/gno/gnovm/tests TestFiles/time12_stdlibs.gno 210ms
github.com/gnolang/gno/gnovm/tests TestFiles/map17.gno 210ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/method18.gno 210ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/regexp/syntax/TestParseSimple 210ms
github.com/gnolang/gno/gnovm/tests TestFiles/addr0b_stdlibs.gno 200ms
github.com/gnolang/gno/gnovm/tests TestFiles/time11_stdlibs.gno 200ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/struct14.gno 200ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time2_stdlibs.gno 200ms
github.com/gnolang/gno/gnovm/tests TestFiles/method18.gno 200ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time6_stdlibs.gno 200ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/struct13_stdlibs.gno 190ms
github.com/gnolang/gno/gnovm/tests TestFiles/recursive4.gno 190ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/map13.gno 190ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/map17.gno 190ms
github.com/gnolang/gno/gnovm/tests TestFiles/time7_stdlibs.gno 180ms
github.com/gnolang/gno/gnovm/tests TestFiles/tz_locations.gno 180ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time3_stdlibs.gno 180ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/map29_stdlibs.gno 180ms
github.com/gnolang/gno/gnovm/tests TestFiles/map29_stdlibs.gno 180ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/tz_locations.gno 180ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/recursive4.gno 180ms
github.com/gnolang/gno/gnovm/tests TestFiles/zrealm_crossrealm13_stdlibs.gno 180ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/time4_stdlibs.gno 170ms
github.com/gnolang/gno/gnovm/tests TestFiles/time0_stdlibs.gno 170ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/regexp/TestFindAllIndex 170ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/sort/TestStability 160ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/type8.gno 160ms
github.com/gnolang/gno/gnovm/tests TestFiles/time8.gno 160ms
github.com/gnolang/gno/gnovm/tests TestFiles/time9_stdlibs.gno 160ms
github.com/gnolang/gno/gnovm/tests TestFiles/type8.gno 150ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/bits/TestLeadingZeros 150ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/encoding/hex/TestEncoderDecoder 150ms
github.com/gnolang/gno/gnovm/pkg/gnolang TestEvalFiles/type2_stdlibs.gno 150ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/bits/TestOnesCount 140ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/bytes/TestEqualExhaustive 140ms
github.com/gnolang/gno/gnovm/cmd/gno Test_Scripts/gno_test/valid_filetest 140ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/TestExp2 130ms
github.com/gnolang/gno/gnovm/tests TestFiles/type2_stdlibs.gno 130ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/bits/TestLen 120ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/regexp/TestReplaceAll 120ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/math/bits/TestTrailingZeros 120ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/regexp/TestCompileOnePass 110ms
github.com/gnolang/gno/gnovm/tests TestStdlibs/net/url/TestResolveReference 100ms

My proposal: fix all race conditions we have in our code to be able to parallelize our tests. Stdlibs can be tested in much less than 6:30 mins.

@moul
Copy link
Member Author

moul commented Sep 27, 2024

Sounds reasonable. Does anyone have an estimation of the feasibility and difficulty of removing all the race conditions?

-> #2097

@ajnavarro
Copy link
Contributor

ajnavarro commented Sep 27, 2024

I did a bit of a research and adding t.Parallel() to stdlib tests we improved a bit the time needed to run them: #2864

They take 3 minutes less to run in total.

@jefft0
Copy link
Contributor

jefft0 commented Oct 22, 2024

PR #2864 makes TestStdlibs run in parallel. On my macOS, this makes the following test flappy. If I check out the commit before this PR was merged, then it always passes.

go test gnovm/tests/*.go -run "TestStdlibs/encoding" -v -p 1 -timeout=30m

The failure prints:

--- FAIL: TestStdlibs (0.01s)
    --- FAIL: TestStdlibs/encoding/hex (0.00s)
panic: StaticBlock.NumNames and len(.Names) mismatch [recovered]
	panic: StaticBlock.NumNames and len(.Names) mismatch

goroutine 6 [running]:
testing.tRunner.func1.2({0x102a65580, 0x102b536a0})
	/Users/jefft0/.asdf/installs/golang/1.22.5/go/src/testing/testing.go:1631 +0x1c4
testing.tRunner.func1()
	/Users/jefft0/.asdf/installs/golang/1.22.5/go/src/testing/testing.go:1634 +0x33c
panic({0x102a65580?, 0x102b536a0?})
	/Users/jefft0/.asdf/installs/golang/1.22.5/go/src/runtime/panic.go:770 +0x124
github.com/gnolang/gno/gnovm/pkg/gnolang.(*StaticBlock).Define2(0x1400043c030?, 0x0?, {0x1027e72f7?, 0x3?}, {0x102b5edd0?, 0x1030432c0?}, {{0x102b5edd0, 0x1030432c0}, {0x102b58710, 0x140004000f0}, ...})
	/Users/jefft0/work/gno/gno/gnovm/pkg/gnolang/nodes.go:1804 +0x934
github.com/gnolang/gno/gnovm/pkg/gnolang.(*StaticBlock).Define(...)
	/Users/jefft0/work/gno/gno/gnovm/pkg/gnolang/nodes.go:1782
github.com/gnolang/gno/gnovm/pkg/gnolang.UverseNode.func1(...)
	/Users/jefft0/work/gno/gno/gnovm/pkg/gnolang/uverse.go:89
github.com/gnolang/gno/gnovm/pkg/gnolang.UverseNode()
	/Users/jefft0/work/gno/gno/gnovm/pkg/gnolang/uverse.go:98 +0x2c0
github.com/gnolang/gno/gnovm/pkg/gnolang.Uverse()
	/Users/jefft0/work/gno/gno/gnovm/pkg/gnolang/uverse.go:71 +0x28
github.com/gnolang/gno/gnovm/pkg/gnolang.InitStoreCaches({0x102b6c908, 0x1400042e0a0})
	/Users/jefft0/work/gno/gno/gnovm/pkg/gnolang/store.go:866 +0x228
github.com/gnolang/gno/gnovm/pkg/gnolang.NewStore(0x0, {0x102b5f6d0, 0x140004000b0}, {0x102b5f728, 0x1400040c1e0})
	/Users/jefft0/work/gno/gno/gnovm/pkg/gnolang/store.go:125 +0x128
command-line-arguments.TestStore({0x1400040405a, 0x5}, {0x140003664a0, 0xc}, {0x102b55ca8, 0x1400040c090}, {0x102b55c08, 0x14000072028}, {0x102b55cc8, 0x1400040c0c0}, ...)
	/Users/jefft0/work/gno/gno/gnovm/tests/imports.go:427 +0x228
command-line-arguments.runPackageTest(0x140003644e0, {0x140002a3668, 0x17}, {0x140003664a0, 0xc})
	/Users/jefft0/work/gno/gno/gnovm/tests/package_test.go:74 +0x10c
command-line-arguments.TestStdlibs.func2(0x140003644e0)
	/Users/jefft0/work/gno/gno/gnovm/tests/package_test.go:58 +0x58
testing.tRunner(0x140003644e0, 0x140003840f0)
	/Users/jefft0/.asdf/installs/golang/1.22.5/go/src/testing/testing.go:1689 +0xec
created by testing.(*T).Run in goroutine 3
	/Users/jefft0/.asdf/installs/golang/1.22.5/go/src/testing/testing.go:1742 +0x318

@thehowl
Copy link
Member

thehowl commented Oct 22, 2024

of course it's uverse. (#2067)

r3v4s pushed a commit to gnoswap-labs/gno that referenced this issue Dec 10, 2024
This PR tackles a large amount of improvements in our current internal
testing systems for the gnovm, as well as those for `gno test`. The
primary target is the execution of filetests; however many improvements
have been implemented to remove dead or duplicate code, and bring over
some of the improvements that have been implemented in tests to
filetests, when they come at little added "cost".

The biggest headline concerns the execution of filetests. I wrote the
specific improvements undertaken in a [blog post on "diary of a
gnome"](https://gno.howl.moe/faster-tests/), but here's a side-by-side
comparison of the execution in this PR (left) and the execution on
master (right).


![filetests](https://github.com/user-attachments/assets/049680f2-baeb-4f24-8f0f-60ae5fa4bce5)

- Fixes gnolang#1084
- Fixes gnolang#2826 (by addressing root cause of slowness)
- Fixes gnolang#588, only running `_long` filetests on master and generally
speeding up test execution.

## Impact

- Test context (tests and filetests)
- Tests and filetests now share the same `test.Store` when running.
Coupled with `test.LoadImports`, it allows us to "eagerly load" imports
ahead of the test execution, and save it in the store. This is the
primary performance improvement of this PR, as all pure packages can be
run and preprocessed only once, whereas before it was once per package,
and once per filetest. (More info in the blog post.)
- One of the consequences of this is that package initialization happens
outside of the test; so a filetest can no longer check the output of a
`println` used in package initialization.
- The default user no longer has 200 gnot by default. There are two
mechanisms that make this unnecessary: `// SEND:`, and
`std.TestIssueCoin`. Some test balances had to be updated.
- Filetests
	- Running filetests in `gno test -v` now also prints their output.
- Realm tests are no longer executed in `main.gno`, but in a filename
following the name of the filetest; this changed some `// Realm:`
directives.
- The sytem to read directives and update them in the filetests has been
re-written, and should now be more resilient and with fewer
"exceptions". This means that leading and trailing whitespace in output
now is correctly considered as output, leading to the addition of many
empty `//` in the tests.
- `// Error:` directives are now treated the same as everything else;
and are updated if the `-update-golden-tests` flag is passed.
- Removed the `imports` metric from the runtime metrics, as it's now no
longer straightforward to calculate (given that imports are loaded
"eagerly").
- Removed support for different "modes" of importing stdlibs; further
removing support for gonative (gnolang#1361). The remaining gonative libraries
are `os`, `fmt`, `encoding/json`, `internal/os_test` and `math/big`.
This removes the `-with-native-fallback` flag from `gno test`.
- Consequently, filetests ending with `_native.gno` have largely been
removed, and those ending with `_stdlibs.go` have had their suffix
removed.
- Some files testing `gonative` types and functions which were only used
in a small subset of these tests, have been removed.
- Tests
- `gno test`, for testing packages, created a `main_test.gno` file that
is then called directly from the machine on each test. This creates two
identifiers, `tests` and `runtest`, which could come into conflict with
those defined by the tests themselves. We now call `testing.RunTest`
directly, without an intermediary.
- Exports in the normal tests (ie. defined in `pkg`) are now visible in
the tests of `pkg_test`. This is most useful for some standard library
tests, where there often is an `export_test.go` with the sole scope of
exporting some internal functions and methods for testing in the "real"
testing file.
- `gno lint`, and other occasions where we use `issueFromError` (like
when parsing errors in `gno test`), will now also print the column of
the error if given.

## Summary of internal changes

- pkg/gnolang
	- `TestFiles` is the new function running the filetests.
- `eval_test.go` has been removed, moving some of its improvements over
to `TestFiles`, and reducing the scope of the corresponding tests in
`debugger.go`, to what it's actually supposed to test for.
- As a consequence of removing all of type mappings in `imports.go`, I
removed `SetStrictGo2GnoMapping` in favour of always being "strict", and
not allowing defining native types of defined types any more.
- The tests in `gonative_test` where primarily related to this, so I
removed them. Similarly for `preprocess_test`.
- `TestFunc` / `TestMemPackage` have been removed as redundant,
including some of their features in `cmd/go/test.go` (like supporting
exporting symbols in `_test.gno` files)
- The `Store` no longer has `ClearCache` and `SetStrictGo2GnoMapping`;
`ClearCache` now has a better substitute in `BeginTransaction`.
- the `testing` stdlib no longer caches `matchPat` and `matchString` as
pure packages should not be able to modify their values during
execution, and as a result of other changes this was failing.
- The tests/ directory has been removed / moved to `gnovm/pkg/test`.
This directory should eventually contain the internal code for `gno
test` as well; but for now I wanted to clean `tests` to ensure it is a
directory just for integration tests, rather than code and testing
systems.
- `TestMachine` and `TestStore` have been renamed to Machine and Store,
to avoid redundancy with the `test` package name.
- Removed plenty instructions in `gnovm/Makefile` as now most tests are
just in `pkg/gnolang`.
- I removed `MsgContext.Msg` as unused. It can be re-added later if
necessary.
- In the CI, tests are now run with `-short`, at least until we figure
out how to make the VM efficient enough to run these tests. Aside from
some filetests, this now excludes some stdlibs: `bytes`, `strconv`,
`regexp/syntax`. I accept other proposals that could make us have fast
tests on PR's, while still testing (mostly) everything.

---
[![Open Source
Saturday](https://img.shields.io/badge/%E2%9D%A4%EF%B8%8F-open%20source%20saturday-F64060.svg)](https://lu.ma/open-source-saturday-torino)

---------

Co-authored-by: Marc Vertes <[email protected]>
albttx pushed a commit that referenced this issue Jan 10, 2025
This PR tackles a large amount of improvements in our current internal
testing systems for the gnovm, as well as those for `gno test`. The
primary target is the execution of filetests; however many improvements
have been implemented to remove dead or duplicate code, and bring over
some of the improvements that have been implemented in tests to
filetests, when they come at little added "cost".

The biggest headline concerns the execution of filetests. I wrote the
specific improvements undertaken in a [blog post on "diary of a
gnome"](https://gno.howl.moe/faster-tests/), but here's a side-by-side
comparison of the execution in this PR (left) and the execution on
master (right).


![filetests](https://github.com/user-attachments/assets/049680f2-baeb-4f24-8f0f-60ae5fa4bce5)

- Fixes #1084
- Fixes #2826 (by addressing root cause of slowness)
- Fixes #588, only running `_long` filetests on master and generally
speeding up test execution.

## Impact

- Test context (tests and filetests)
- Tests and filetests now share the same `test.Store` when running.
Coupled with `test.LoadImports`, it allows us to "eagerly load" imports
ahead of the test execution, and save it in the store. This is the
primary performance improvement of this PR, as all pure packages can be
run and preprocessed only once, whereas before it was once per package,
and once per filetest. (More info in the blog post.)
- One of the consequences of this is that package initialization happens
outside of the test; so a filetest can no longer check the output of a
`println` used in package initialization.
- The default user no longer has 200 gnot by default. There are two
mechanisms that make this unnecessary: `// SEND:`, and
`std.TestIssueCoin`. Some test balances had to be updated.
- Filetests
	- Running filetests in `gno test -v` now also prints their output.
- Realm tests are no longer executed in `main.gno`, but in a filename
following the name of the filetest; this changed some `// Realm:`
directives.
- The sytem to read directives and update them in the filetests has been
re-written, and should now be more resilient and with fewer
"exceptions". This means that leading and trailing whitespace in output
now is correctly considered as output, leading to the addition of many
empty `//` in the tests.
- `// Error:` directives are now treated the same as everything else;
and are updated if the `-update-golden-tests` flag is passed.
- Removed the `imports` metric from the runtime metrics, as it's now no
longer straightforward to calculate (given that imports are loaded
"eagerly").
- Removed support for different "modes" of importing stdlibs; further
removing support for gonative (#1361). The remaining gonative libraries
are `os`, `fmt`, `encoding/json`, `internal/os_test` and `math/big`.
This removes the `-with-native-fallback` flag from `gno test`.
- Consequently, filetests ending with `_native.gno` have largely been
removed, and those ending with `_stdlibs.go` have had their suffix
removed.
- Some files testing `gonative` types and functions which were only used
in a small subset of these tests, have been removed.
- Tests
- `gno test`, for testing packages, created a `main_test.gno` file that
is then called directly from the machine on each test. This creates two
identifiers, `tests` and `runtest`, which could come into conflict with
those defined by the tests themselves. We now call `testing.RunTest`
directly, without an intermediary.
- Exports in the normal tests (ie. defined in `pkg`) are now visible in
the tests of `pkg_test`. This is most useful for some standard library
tests, where there often is an `export_test.go` with the sole scope of
exporting some internal functions and methods for testing in the "real"
testing file.
- `gno lint`, and other occasions where we use `issueFromError` (like
when parsing errors in `gno test`), will now also print the column of
the error if given.

## Summary of internal changes

- pkg/gnolang
	- `TestFiles` is the new function running the filetests.
- `eval_test.go` has been removed, moving some of its improvements over
to `TestFiles`, and reducing the scope of the corresponding tests in
`debugger.go`, to what it's actually supposed to test for.
- As a consequence of removing all of type mappings in `imports.go`, I
removed `SetStrictGo2GnoMapping` in favour of always being "strict", and
not allowing defining native types of defined types any more.
- The tests in `gonative_test` where primarily related to this, so I
removed them. Similarly for `preprocess_test`.
- `TestFunc` / `TestMemPackage` have been removed as redundant,
including some of their features in `cmd/go/test.go` (like supporting
exporting symbols in `_test.gno` files)
- The `Store` no longer has `ClearCache` and `SetStrictGo2GnoMapping`;
`ClearCache` now has a better substitute in `BeginTransaction`.
- the `testing` stdlib no longer caches `matchPat` and `matchString` as
pure packages should not be able to modify their values during
execution, and as a result of other changes this was failing.
- The tests/ directory has been removed / moved to `gnovm/pkg/test`.
This directory should eventually contain the internal code for `gno
test` as well; but for now I wanted to clean `tests` to ensure it is a
directory just for integration tests, rather than code and testing
systems.
- `TestMachine` and `TestStore` have been renamed to Machine and Store,
to avoid redundancy with the `test` package name.
- Removed plenty instructions in `gnovm/Makefile` as now most tests are
just in `pkg/gnolang`.
- I removed `MsgContext.Msg` as unused. It can be re-added later if
necessary.
- In the CI, tests are now run with `-short`, at least until we figure
out how to make the VM efficient enough to run these tests. Aside from
some filetests, this now excludes some stdlibs: `bytes`, `strconv`,
`regexp/syntax`. I accept other proposals that could make us have fast
tests on PR's, while still testing (mostly) everything.

---
[![Open Source
Saturday](https://img.shields.io/badge/%E2%9D%A4%EF%B8%8F-open%20source%20saturday-F64060.svg)](https://lu.ma/open-source-saturday-torino)

---------

Co-authored-by: Marc Vertes <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging a pull request may close this issue.

4 participants