subpackages:
* adapters:
* msgpipes for simulated test connections
* rlpx the RLPx adapter for normal non-test use
* simnet simulated in-process network adapter
* protocols: easy-to-setup protocols
* simulations:
* simulated network using simnet adapter
* (local cluster of nodes running their own p2p server)
* (remote cluster of nodes managed via docker)
* testing: test resource drivers
* exchange: trigger/expect style driver for single node and its peers
* sessions: for unit testing protocols and protocol modules
* (network: for network testing, benchmarking, stats, correctness, fault tolerance)
see more in the README-s in each subpackage
Two new tests are skipped because they're buggy. Making some newer
random state tests work required implementing the 'compressed return
value encoding'.
This commit replaces the deep-copy based state revert mechanism with a
linear complexity journal. This commit also hides several internal
StateDB methods to limit the number of ways in which calling code can
use the journal incorrectly.
As usual consultation and bug fixes to the initial implementation were
provided by @karalabe, @obscuren and @Arachnid. Thank you!
This commit tweaks the debian packaging tool:
* All build environment metadata can now be overriden on the command
line. This allows testing the CI build behaviour locally.
* -unstable packages now actually contain the binaries (oops)
* packages use Go 1.7 to build
* archiving is skipped for PR builds
Delete crashed if a fullNode contained a valueNode directly. This bug is
very unlikely to occur with SecureTrie, but can happen with regular
tries. This commit also introduces a randomised test which triggers all
trie operations, which should prevent such bugs in the future.
Credit for finding this bug goes to Github user @rjl493456442.
The redirect check did not work on Go 1.6 and below because Stat
returned an error for stdout and stderr. In Go 1.7 Stat works on stdout
but doesn't return anything meaningful, causing cmd/geth test failures
because the message is printed to stderr only. Fix it by printing to
stdout only.
TravisCI and AppVeyor run the tests in very slow VMs.
Some of our tests can't cope with that. Running less tests
in parallel should make them somewhat less flakey.