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)

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