* configure a 50 ms timeout for tests (like v4 tests)
* use in-memory DB (like v4 tests)
* TestUDPv5_callTimeoutReset: improve speed from 1.2s to 0.2s
* TestUDPv5_callTimeoutReset: reduce the likelihood of "RPC timeout"
* move lookup tests to the "integration" suite
* log details of unmatched packets and sends to non-existing nodes
* fix flaky TestUDPv5_findnodeHandling:
Table.nextRevalidateTime was random (from 0 to 10s).
Sometimes it triggered doRevalidate immediately, and it produced an unexpected ping.
Configure a high interval to not revalidate during the tests.
Time improved from 1.7s to 0.2s.
Test with:
go test ./p2p/discover -run TestUDPv5 -count 1
Reasons:
* duktape is not maintained
* on macOS it produces a warning: unused function '_duk_debugger_attach'
(this slows down incremental builds and pollutes the test logs)
Why goja?
Geth has migrated some parts to goja (console and clef signer tool),
although not migrated tracers yet.
* fix isPrecompiled() native function
* recursion limit test is obsolete
* list "all" targets explicitly
* add missing targets
* add missing build flags
* add test-integration target
* show tests output
* use wmake test on CI
* update submodules for all targets (like Makefile)
* remove unused function Test-Administrator
The test is flaky when the reply timeout is too low.
Increasing the timeout makes it slow.
Move the test to the integration suite.
Having a higher timeout is fine there.
* reuse the generated test blockchain across tests
* copy ChainPack to ensure test isolation
This improves the speed from 10s to 4s.
The package tests timeout can be reduced to 5s:
go test ./cmd/rpcdaemon/commands -count 1 --timeout 5s
Cache "go-build" containing cached build artifacts from the Go build system.
This saves up to:
- 6 min on Linux (from 10 min to 4 min)
- 3 min on macOS (from 13 min to 10 min)
- 7 min on Windows (from 27 min to 20 min)
Cache Windows deps (mingw, cmake).
This saves 6,5 min on Windows builds (from 20 min to 13,5 min)
* binary tree
* Binary commitment tree
* [erigon2] Bin tree support
* Point to latest erigon-lib
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Running on PR close event tests the PR commit, not the final merged commit.
The final commit is tested by "push" event, but it appears as "skipped" in the list of devel ccmmits,
because "push" event was skipped by "if".