Skip to content

Retesteth v0.2.0 - memory

Compare
Choose a tag to compare
@winsvega winsvega released this 15 Sep 18:48
· 652 commits to master since this release
078dc86

Breaking change:
Test-parse logic optimization. Do not sort source test json structure before calculating the hash, to save time. This changes the way filler hash is calculated leading to older versions of retesteth tests would not pass the hash verification check. (except legacy tests)

Continue refactoring and optimizations. Near 50% execution time saved on remote VPS so far.

New test suite: -t TransactionTests
New test method: test_rawTransaction(BYTES, FORK)
ethereum/go-ethereum#23494

Check on the generated tests when filling the tests. If no changes after test regeneration, do not update _info section by default.
New option --forceupdate to update the regenerated test even if no changes (_info section header always change)

Announcment

Retesteth is ethereum test runner / generator tool for the tests (https://github.com/ethereum/tests)
Uses existing clients to run/generate the tests. See documentation. (https://ethereum-tests.readthedocs.io/en/latest/)
The test process diagram: http://tinyurl.com/2ctak8yn

Testing stats

Testing results are available at http://retesteth.ethdevops.io/
There is a web tool for vmtracing the tests using supported clients and retesteth: http://retesteth.ethdevops.io/web/
All blockchain tests are being run by hive tool: https://hivetests.ethdevops.io/

Changelog

  • --showhash show full hash
  • support difficulty formula calculation from t8ntool (ethereum/go-ethereum#23353)
  • json are sorted on export, sort function refactored, no sort on json load
  • cache values/hash string representation for future calls when requested to be converted, recache if data is mutated (!)
  • notification when trying to run older generated test
  • test suites output (x of y) verbosity
  • more smart pointer use. less data copy when filling the tests (!)
  • New test suite: -t TransactionTests Net test method: test_rawTransaction(BYTES, FORK)
  • refactoring, logic optimizations to save execution time
  • --forceupdate option when filling the tests
  • do not update the _info section by default if no changes been done after --filltests

! - potential bug behavior, stay aware

ubuntu 18.04.3:
http://retesteth.ethdevops.io/release/0.2.0-memory/ubuntu-18.04.3/retesteth-0.2.0-memory-ubuntu-18.04.3

Might need the dependecies install:

- sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
- sudo apt-get update
- sudo apt-get install gcc-4.9
- sudo apt-get install --only-upgrade libstdc++6

macOS-XCode11:
http://retesteth.ethdevops.io/release/0.2.0-memory/macOS-XCode11/retesteth-0.2.0-memory-macOS-XCode11

Docker:
geth version: Version: 1.10.9-unstable Git Commit: 84ff152de56b9d65f6888daef9dc00c97a6aafd3
geth evm version: evm version 1.10.9-unstable-84ff152d-20210915
lllc version: Version: 0.5.14-develop.2021.6.12+commit.401d5358.Linux.g++
solidity version: Version: 0.8.5+commit.a4f2e591.Linux.g++
http://retesteth.ethdevops.io/release/0.2.0-memory/dretesteth-0.2.0-memory.tar

Documentation:
https://ethereum-tests.readthedocs.io/en/latest/