Skip to content

Building and Testing

Wei Tang edited this page Oct 6, 2017 · 4 revisions

Building SputnikVM

$ git clone git@github.com:ethereumproject/sputnikvm.git
$ cd sputnikvm
$ cargo build --release --all

SputnikVM Regression test

Steps to reproduce:

  • Make sure you have OpenSSL installed.
  • Install Ethereum Classic Geth: $ go get github.com/ethereumproject/go-ethereum && go install github.com/ethereumproject/go-ethereum/cmd/geth.
  • Run Geth with this command: $ ~/go/bin/geth --rpc --rpcaddr 127.0.0.1 --rpcport 8545.
  • Wait for the chain to sync.
  • Clone SputnikVM: $ git clone git@github.com:ethereumproject/sputnikvm.git
  • Change directory into the regtests directory $ cd regtests
  • Run Frontier regression tests: $ RUST_BACKTRACE=1 cargo run --release -- --rpc http://127.0.0.1:8545 --number 1..1150000 --patch frontier
  • Run Homestead regression tests: $ RUST_BACKTRACE=1 cargo run --release -- --rpc http://127.0.0.1:8545 --number 1150000..2500000 --patch homestead
  • Run EIP150 regression tests: $ RUST_BACKTRACE=1 cargo run --release -- --rpc http://127.0.0.1:8545 --number 2500000..3000000 --patch eip150
  • Run EIP160 regression tests: $ RUST_BACKTRACE=1 cargo run --release -- --rpc http://127.0.0.1:8545 --number 3000000..4000000 --patch eip160

SputnikVM Common Unit Tests for all Ethereum implementations.

These tests are a clone of github.com/ethereumproject/tests

$ git clone git@github.com:ethereumproject/sputnikvm.git
$ cd sputnikvm/jsontests
$ cargo test