-
Notifications
You must be signed in to change notification settings - Fork 0
Testing
All commands (unless stated otherwise) are assumed to be run from $GOPATH/src/github.com/ethereumproject/go-ethereum. You should have the latest Go installed (>= 1.8).
See Travis or Coveralls for status.
Test the full codebase locally by changing to the repository directory and running
go test ./...Integration tests for Go are included in the tests directory and can be run with standard go testing (i.e. go test). To run all the integration tests simply run:
go test ./tests/Run a specific module with:
go test ./core/...Or a specific test file:
go test ./core/config_test.goGeth uses [sstephenson/bats: Bash Automated Testing System](sstephenson/bats: Bash Automated Testing System) to test command line integration.
Run the bats tests with:
cd $GOPATH/src/github.com/ethereumproject/go-ethereum
bats cmd/webchaindAlternatively, there is a CLI application, ethtest who can be used to run these tests without Go. The binary can be built from ./cmd/ethtest and then run from anywhere (such as the root directory of the test files). Some examples:
Run all tests from current directory, looking in their respective sub directories for json files:
ethtest
Run all VM json tests from ./VMTests/ directory
ethtest --test "vm" --file "./VMTests/"
Run all tests in a cousin directory supplied by environment variable
ETHEREUM_TEST_PATH="../../tests/files" ethtest --test "all"
Run a single transaction test
ethtest --test "tx" --file "./TransactionTests/ttTransactionTest.json"
Flags:
--test "all" Test type (string): VMTests, TransactionTests, StateTests, BlockTests
--file "." Test file or directory. Directories are searched for .json files 1 level deep [$ETHEREUM_TEST_PATH]
--continue Continue running tests on error (true) or exit immediately (false)go test ./tests/vm_test.gogo test ./tests/state_test.gogo test ./tests/transaction_test.gogo test ./tests/block_test.go- Load test JSON with
webchaind blocktest <pathToTheTestRepo>/BlockTests/bcRPC_API_Test.json RPC_API_Test rpc
- Run rpc-tests (https://github.com/ethereumproject/rpc-tests#usage)
❤️ Stay Classy