From 96cad7de9c2c67b642fddebc00ed906fb44d9b77 Mon Sep 17 00:00:00 2001 From: Federico Kunze <31522760+fedekunze@users.noreply.github.com> Date: Tue, 11 May 2021 07:54:55 -0400 Subject: [PATCH] tests: reorganize packages (#7) * tests: reorganize testing packages * gitignore and minor changes --- .gitignore | 2 +- Makefile | 4 +- scripts/contract-test.sh | 8 +- scripts/integration-test-all.sh | 2 +- scripts/run-solidity-tests.sh | 2 +- {importer => tests/importer}/blockchain | Bin {importer => tests/importer}/importer_test.go | 0 tests/{ => rpc}/personal_test.go | 2 +- .../rpc_pending_test.go | 124 ++++++++---------- tests/{ => rpc}/rpc_test.go | 2 +- tests/{ => rpc}/utils.go | 2 +- .../solidity}/.gitattributes | 0 {tests-solidity => tests/solidity}/.gitignore | 0 {tests-solidity => tests/solidity}/README.md | 0 .../solidity}/init-test-node.sh | 0 .../solidity}/package.json | 0 .../suites/basic/contracts/Counter.sol | 0 .../basic/contracts/test/Migrations.sol | 0 .../solidity}/suites/basic/main.go | 0 .../basic/migrations/1_initial_migration.js | 0 .../solidity}/suites/basic/package.json | 0 .../solidity}/suites/basic/test/.gitkeep | 0 .../solidity}/suites/basic/test/counter.js | 0 .../solidity}/suites/basic/truffle-config.js | 0 .../suites/initializable-buidler/.gitignore | 0 .../initializable-buidler/buidler.config.js | 0 .../contracts/Initializable.sol | 0 .../contracts/Petrifiable.sol | 0 .../contracts/TimeHelpers.sol | 0 .../contracts/Uint256Helpers.sol | 0 .../contracts/UnstructuredStorage.sol | 0 .../contracts/test/InitializableMock.sol | 0 .../suites/initializable-buidler/package.json | 0 .../initializable-buidler/test/lifecycle.js | 0 .../initializable/contracts/Initializable.sol | 0 .../initializable/contracts/Petrifiable.sol | 0 .../initializable/contracts/TimeHelpers.sol | 0 .../contracts/Uint256Helpers.sol | 0 .../contracts/UnstructuredStorage.sol | 0 .../contracts/test/InitializableMock.sol | 0 .../contracts/test/Migrations.sol | 0 .../migrations/1_initial_migration.js | 0 .../suites/initializable/package.json | 0 .../suites/initializable/test/.gitkeep | 0 .../suites/initializable/test/lifecycle.js | 0 .../suites/initializable/truffle-config.js | 0 .../suites/proxy/contracts/DelegateProxy.sol | 0 .../contracts/DepositableDelegateProxy.sol | 0 .../proxy/contracts/DepositableStorage.sol | 0 .../suites/proxy/contracts/ERCProxy.sol | 0 .../suites/proxy/contracts/IsContract.sol | 0 .../proxy/contracts/UnstructuredStorage.sol | 0 .../test/DepositableDelegateProxyMock.sol | 0 .../suites/proxy/contracts/test/EthSender.sol | 0 .../proxy/contracts/test/Migrations.sol | 0 .../proxy/contracts/test/ProxyTarget.sol | 0 .../proxy/migrations/1_initial_migration.js | 0 .../solidity}/suites/proxy/package.json | 0 .../solidity}/suites/proxy/test/.gitkeep | 0 .../proxy/test/depositable_delegate_proxy.js | 0 .../solidity}/suites/proxy/truffle-config.js | 0 .../.github/workflows/ci_contracts.yml | 0 .../suites/staking/contracts/Staking.sol | 0 .../staking/contracts/StakingFactory.sol | 0 .../staking/contracts/lib/Checkpointing.sol | 0 .../contracts/lib/os/Autopetrified.sol | 0 .../contracts/lib/os/DelegateProxy.sol | 0 .../suites/staking/contracts/lib/os/ERC20.sol | 0 .../staking/contracts/lib/os/ERCProxy.sol | 0 .../contracts/lib/os/Initializable.sol | 0 .../staking/contracts/lib/os/IsContract.sol | 0 .../staking/contracts/lib/os/Migrations.sol | 0 .../staking/contracts/lib/os/Petrifiable.sol | 0 .../staking/contracts/lib/os/SafeERC20.sol | 0 .../staking/contracts/lib/os/SafeMath.sol | 0 .../staking/contracts/lib/os/SafeMath64.sol | 0 .../contracts/lib/os/ScriptHelpers.sol | 0 .../staking/contracts/lib/os/TimeHelpers.sol | 0 .../contracts/lib/os/Uint256Helpers.sol | 0 .../contracts/lib/os/UnstructuredStorage.sol | 0 .../contracts/locking/ILockManager.sol | 0 .../contracts/locking/IStakingLocking.sol | 0 .../contracts/locking/TimeLockManager.sol | 0 .../contracts/proxies/StakingProxy.sol | 0 .../staking/contracts/proxies/ThinProxy.sol | 0 .../staking/contracts/standards/ERC900.sol | 0 .../staking/contracts/test/TestImports.sol | 0 .../contracts/test/lib/EchidnaStaking.sol | 0 .../contracts/test/lib/ITokenController.sol | 0 .../contracts/test/lib/MiniMeToken.sol | 0 .../contracts/test/mocks/BadTokenMock.sol | 0 .../test/mocks/CheckpointingMock.sol | 0 .../staking/contracts/test/mocks/ERC20.sol | 0 .../contracts/test/mocks/LockManagerMock.sol | 0 .../test/mocks/NoApproveTokenMock.sol | 0 .../contracts/test/mocks/StakingMock.sol | 0 .../test/mocks/StandardTokenMock.sol | 0 .../contracts/test/mocks/TimeHelpersMock.sol | 0 .../test/mocks/TimeLockManagerMock.sol | 0 .../solidity}/suites/staking/package.json | 0 .../suites/staking/test/approve_and_call.js | 0 .../solidity}/suites/staking/test/gas.js | 0 .../suites/staking/test/helpers/constants.js | 0 .../suites/staking/test/helpers/deploy.js | 0 .../suites/staking/test/helpers/errors.js | 0 .../suites/staking/test/helpers/helpers.js | 0 .../suites/staking/test/lib/checkpointing.js | 0 .../staking/test/locking/funds_flows.js | 0 .../suites/staking/test/locking/locking.js | 0 .../staking/test/locking/locking_time.js | 0 .../solidity}/suites/staking/test/staking.js | 0 .../suites/staking/test/staking_factory.js | 0 .../suites/staking/test/staking_proxy.js | 0 .../suites/staking/test/transfers.js | 0 .../suites/staking/truffle-config.js | 0 115 files changed, 68 insertions(+), 80 deletions(-) rename {importer => tests/importer}/blockchain (100%) rename {importer => tests/importer}/importer_test.go (100%) rename tests/{ => rpc}/personal_test.go (99%) rename tests/{tests-pending => rpc}/rpc_pending_test.go (74%) rename tests/{ => rpc}/rpc_test.go (99%) rename tests/{ => rpc}/utils.go (99%) rename {tests-solidity => tests/solidity}/.gitattributes (100%) rename {tests-solidity => tests/solidity}/.gitignore (100%) rename {tests-solidity => tests/solidity}/README.md (100%) rename {tests-solidity => tests/solidity}/init-test-node.sh (100%) rename {tests-solidity => tests/solidity}/package.json (100%) rename {tests-solidity => tests/solidity}/suites/basic/contracts/Counter.sol (100%) rename {tests-solidity => tests/solidity}/suites/basic/contracts/test/Migrations.sol (100%) rename {tests-solidity => tests/solidity}/suites/basic/main.go (100%) rename {tests-solidity => tests/solidity}/suites/basic/migrations/1_initial_migration.js (100%) rename {tests-solidity => tests/solidity}/suites/basic/package.json (100%) rename {tests-solidity => tests/solidity}/suites/basic/test/.gitkeep (100%) rename {tests-solidity => tests/solidity}/suites/basic/test/counter.js (100%) rename {tests-solidity => tests/solidity}/suites/basic/truffle-config.js (100%) rename {tests-solidity => tests/solidity}/suites/initializable-buidler/.gitignore (100%) rename {tests-solidity => tests/solidity}/suites/initializable-buidler/buidler.config.js (100%) rename {tests-solidity => tests/solidity}/suites/initializable-buidler/contracts/Initializable.sol (100%) rename {tests-solidity => tests/solidity}/suites/initializable-buidler/contracts/Petrifiable.sol (100%) rename {tests-solidity => tests/solidity}/suites/initializable-buidler/contracts/TimeHelpers.sol (100%) rename {tests-solidity => tests/solidity}/suites/initializable-buidler/contracts/Uint256Helpers.sol (100%) rename {tests-solidity => tests/solidity}/suites/initializable-buidler/contracts/UnstructuredStorage.sol (100%) rename {tests-solidity => tests/solidity}/suites/initializable-buidler/contracts/test/InitializableMock.sol (100%) rename {tests-solidity => tests/solidity}/suites/initializable-buidler/package.json (100%) rename {tests-solidity => tests/solidity}/suites/initializable-buidler/test/lifecycle.js (100%) rename {tests-solidity => tests/solidity}/suites/initializable/contracts/Initializable.sol (100%) rename {tests-solidity => tests/solidity}/suites/initializable/contracts/Petrifiable.sol (100%) rename {tests-solidity => tests/solidity}/suites/initializable/contracts/TimeHelpers.sol (100%) rename {tests-solidity => tests/solidity}/suites/initializable/contracts/Uint256Helpers.sol (100%) rename {tests-solidity => tests/solidity}/suites/initializable/contracts/UnstructuredStorage.sol (100%) rename {tests-solidity => tests/solidity}/suites/initializable/contracts/test/InitializableMock.sol (100%) rename {tests-solidity => tests/solidity}/suites/initializable/contracts/test/Migrations.sol (100%) rename {tests-solidity => tests/solidity}/suites/initializable/migrations/1_initial_migration.js (100%) rename {tests-solidity => tests/solidity}/suites/initializable/package.json (100%) rename {tests-solidity => tests/solidity}/suites/initializable/test/.gitkeep (100%) rename {tests-solidity => tests/solidity}/suites/initializable/test/lifecycle.js (100%) rename {tests-solidity => tests/solidity}/suites/initializable/truffle-config.js (100%) rename {tests-solidity => tests/solidity}/suites/proxy/contracts/DelegateProxy.sol (100%) rename {tests-solidity => tests/solidity}/suites/proxy/contracts/DepositableDelegateProxy.sol (100%) rename {tests-solidity => tests/solidity}/suites/proxy/contracts/DepositableStorage.sol (100%) rename {tests-solidity => tests/solidity}/suites/proxy/contracts/ERCProxy.sol (100%) rename {tests-solidity => tests/solidity}/suites/proxy/contracts/IsContract.sol (100%) rename {tests-solidity => tests/solidity}/suites/proxy/contracts/UnstructuredStorage.sol (100%) rename {tests-solidity => tests/solidity}/suites/proxy/contracts/test/DepositableDelegateProxyMock.sol (100%) rename {tests-solidity => tests/solidity}/suites/proxy/contracts/test/EthSender.sol (100%) rename {tests-solidity => tests/solidity}/suites/proxy/contracts/test/Migrations.sol (100%) rename {tests-solidity => tests/solidity}/suites/proxy/contracts/test/ProxyTarget.sol (100%) rename {tests-solidity => tests/solidity}/suites/proxy/migrations/1_initial_migration.js (100%) rename {tests-solidity => tests/solidity}/suites/proxy/package.json (100%) rename {tests-solidity => tests/solidity}/suites/proxy/test/.gitkeep (100%) rename {tests-solidity => tests/solidity}/suites/proxy/test/depositable_delegate_proxy.js (100%) rename {tests-solidity => tests/solidity}/suites/proxy/truffle-config.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/.github/workflows/ci_contracts.yml (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/Staking.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/StakingFactory.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/Checkpointing.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/Autopetrified.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/DelegateProxy.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/ERC20.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/ERCProxy.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/Initializable.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/IsContract.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/Migrations.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/Petrifiable.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/SafeERC20.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/SafeMath.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/SafeMath64.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/ScriptHelpers.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/TimeHelpers.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/Uint256Helpers.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/lib/os/UnstructuredStorage.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/locking/ILockManager.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/locking/IStakingLocking.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/locking/TimeLockManager.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/proxies/StakingProxy.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/proxies/ThinProxy.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/standards/ERC900.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/test/TestImports.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/test/lib/EchidnaStaking.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/test/lib/ITokenController.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/test/lib/MiniMeToken.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/test/mocks/BadTokenMock.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/test/mocks/CheckpointingMock.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/test/mocks/ERC20.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/test/mocks/LockManagerMock.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/test/mocks/NoApproveTokenMock.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/test/mocks/StakingMock.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/test/mocks/StandardTokenMock.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/test/mocks/TimeHelpersMock.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/contracts/test/mocks/TimeLockManagerMock.sol (100%) rename {tests-solidity => tests/solidity}/suites/staking/package.json (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/approve_and_call.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/gas.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/helpers/constants.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/helpers/deploy.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/helpers/errors.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/helpers/helpers.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/lib/checkpointing.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/locking/funds_flows.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/locking/locking.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/locking/locking_time.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/staking.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/staking_factory.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/staking_proxy.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/test/transfers.js (100%) rename {tests-solidity => tests/solidity}/suites/staking/truffle-config.js (100%) diff --git a/.gitignore b/.gitignore index 5d2b57b9..2e9a3328 100644 --- a/.gitignore +++ b/.gitignore @@ -36,7 +36,7 @@ keyring_test_cosmos coverage.txt *.out sim_log_file -importer/tmp +tests/**/tmp/* yarn.lock # Vagrant diff --git a/Makefile b/Makefile index e6c359af..806bb43b 100755 --- a/Makefile +++ b/Makefile @@ -267,9 +267,9 @@ test-race: @go test -v --vet=off -race ./... $(PACKAGES) test-import: - @go test ./importer -v --vet=off --run=TestImportBlocks --datadir tmp \ + @go test ./tests/importer -v --vet=off --run=TestImportBlocks --datadir tmp \ --blockchain blockchain - rm -rf importer/tmp + rm -rf tests/importer/tmp test-rpc: ./scripts/integration-test-all.sh -t "rpc" -q 1 -z 1 -s 2 -m "rpc" -r "true" diff --git a/scripts/contract-test.sh b/scripts/contract-test.sh index c8a2ff71..a917bc6f 100644 --- a/scripts/contract-test.sh +++ b/scripts/contract-test.sh @@ -40,9 +40,9 @@ cat $HOME/.ethermint/config/genesis.json | jq '.app_state["mint"]["params"]["min # Give ethermintd node enough time to launch sleep 5 -solcjs --abi "$PWD"/tests-solidity/suites/basic/contracts/Counter.sol --bin -o "$PWD"/tests-solidity/suites/basic/counter -mv "$PWD"/tests-solidity/suites/basic/counter/*.abi "$PWD"/tests-solidity/suites/basic/counter/counter_sol.abi 2> /dev/null -mv "$PWD"/tests-solidity/suites/basic/counter/*.bin "$PWD"/tests-solidity/suites/basic/counter/counter_sol.bin 2> /dev/null +solcjs --abi "$PWD"/tests/solidity/suites/basic/contracts/Counter.sol --bin -o "$PWD"/tests/solidity/suites/basic/counter +mv "$PWD"/tests/solidity/suites/basic/counter/*.abi "$PWD"/tests/solidity/suites/basic/counter/counter_sol.abi 2> /dev/null +mv "$PWD"/tests/solidity/suites/basic/counter/*.bin "$PWD"/tests/solidity/suites/basic/counter/counter_sol.bin 2> /dev/null # Query for the account ACCT=$(curl --fail --silent -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545 | grep -o '\0x[^"]*') @@ -54,7 +54,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"personal_unlockAccount","params" #PRIVKEY="$("$PWD"/build/ethermintd keys export $KEY)" ## need to get the private key from the account in order to check this functionality. -cd tests-solidity/suites/basic/ && go get && go run main.go $ACCT +cd tests/solidity/suites/basic/ && go get && go run main.go $ACCT # After tests # kill test ethermintd diff --git a/scripts/integration-test-all.sh b/scripts/integration-test-all.sh index 912843db..e2c08a6c 100755 --- a/scripts/integration-test-all.sh +++ b/scripts/integration-test-all.sh @@ -72,7 +72,7 @@ init_func() { "$PWD"/build/ethermintd add-genesis-account \ "$("$PWD"/build/ethermintd keys show "$KEY$i" --keyring-backend test -a --home "$DATA_DIR$i")" 1000000000000000000aphoton,1000000000000000000stake \ --keyring-backend test --home "$DATA_DIR$i" - "$PWD"/build/ethermintd gentx "$KEY$i" 1000000000000000000stake --amount=1000000000000000000aphoton --chain-id $CHAINID --keyring-backend test --home "$DATA_DIR$i" + "$PWD"/build/ethermintd gentx "$KEY$i" --amount=1000000000000000000aphoton --chain-id $CHAINID --keyring-backend test --home "$DATA_DIR$i" "$PWD"/build/ethermintd collect-gentxs --home "$DATA_DIR$i" "$PWD"/build/ethermintd validate-genesis --home "$DATA_DIR$i" diff --git a/scripts/run-solidity-tests.sh b/scripts/run-solidity-tests.sh index d65ef2af..05765314 100755 --- a/scripts/run-solidity-tests.sh +++ b/scripts/run-solidity-tests.sh @@ -15,7 +15,7 @@ CHAINID="ethermint-1337" # build ethermint binary make install -cd tests-solidity +cd tests/solidity if command -v yarn &> /dev/null; then yarn install diff --git a/importer/blockchain b/tests/importer/blockchain similarity index 100% rename from importer/blockchain rename to tests/importer/blockchain diff --git a/importer/importer_test.go b/tests/importer/importer_test.go similarity index 100% rename from importer/importer_test.go rename to tests/importer/importer_test.go diff --git a/tests/personal_test.go b/tests/rpc/personal_test.go similarity index 99% rename from tests/personal_test.go rename to tests/rpc/personal_test.go index 7ce8ca45..315f776c 100644 --- a/tests/personal_test.go +++ b/tests/rpc/personal_test.go @@ -1,4 +1,4 @@ -package tests +package rpc import ( "encoding/json" diff --git a/tests/tests-pending/rpc_pending_test.go b/tests/rpc/rpc_pending_test.go similarity index 74% rename from tests/tests-pending/rpc_pending_test.go rename to tests/rpc/rpc_pending_test.go index cbb020d7..4bdf859f 100644 --- a/tests/tests-pending/rpc_pending_test.go +++ b/tests/rpc/rpc_pending_test.go @@ -3,13 +3,12 @@ // To run these tests please first ensure you have the ethermintd running // // You can configure the desired HOST and MODE as well in integration-test-all.sh -package pending +package rpc import ( "encoding/json" "fmt" "math/big" - "os" "testing" "github.com/ethereum/go-ethereum/common" @@ -17,45 +16,34 @@ import ( "github.com/stretchr/testify/require" rpctypes "github.com/cosmos/ethermint/ethereum/rpc/types" - util "github.com/cosmos/ethermint/tests" ) -const ( - addrA = "0xc94770007dda54cF92009BFF0dE90c06F603a09f" - addrAStoreKey = 0 -) +// func TestMain(m *testing.M) { +// if MODE != "pending" { +// _, _ = fmt.Fprintln(os.Stdout, "Skipping pending RPC test") +// return +// } -var ( - MODE = os.Getenv("MODE") - from = []byte{} -) +// var err error +// from, err = GetAddress() +// if err != nil { +// fmt.Printf("failed to get account: %s\n", err) +// os.Exit(1) +// } -func TestMain(m *testing.M) { - if MODE != "pending" { - _, _ = fmt.Fprintln(os.Stdout, "Skipping pending RPC test") - return - } - - var err error - from, err = util.GetAddress() - if err != nil { - fmt.Printf("failed to get account: %s\n", err) - os.Exit(1) - } - - // Start all tests - code := m.Run() - os.Exit(code) -} +// // Start all tests +// code := m.Run() +// os.Exit(code) +// } func TestEth_Pending_GetBalance(t *testing.T) { var res hexutil.Big - rpcRes := util.Call(t, "eth_getBalance", []string{addrA, "latest"}) + rpcRes := Call(t, "eth_getBalance", []string{addrA, "latest"}) err := res.UnmarshalJSON(rpcRes.Result) require.NoError(t, err) preTxLatestBalance := res.ToInt() - rpcRes = util.Call(t, "eth_getBalance", []string{addrA, "pending"}) + rpcRes = Call(t, "eth_getBalance", []string{addrA, "pending"}) err = res.UnmarshalJSON(rpcRes.Result) require.NoError(t, err) preTxPendingBalance := res.ToInt() @@ -71,13 +59,13 @@ func TestEth_Pending_GetBalance(t *testing.T) { param[0]["gasLimit"] = "0x5208" param[0]["gasPrice"] = "0x1" - txRes := util.Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) + txRes := Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) require.Nil(t, txRes.Error) - rpcRes = util.Call(t, "eth_sendTransaction", param) + rpcRes = Call(t, "eth_sendTransaction", param) require.Nil(t, rpcRes.Error) - rpcRes = util.Call(t, "eth_getBalance", []string{addrA, "pending"}) + rpcRes = Call(t, "eth_getBalance", []string{addrA, "pending"}) err = res.UnmarshalJSON(rpcRes.Result) require.NoError(t, err) postTxPendingBalance := res.ToInt() @@ -85,7 +73,7 @@ func TestEth_Pending_GetBalance(t *testing.T) { require.Equal(t, preTxPendingBalance.Add(preTxPendingBalance, big.NewInt(10)), postTxPendingBalance) - rpcRes = util.Call(t, "eth_getBalance", []string{addrA, "latest"}) + rpcRes = Call(t, "eth_getBalance", []string{addrA, "latest"}) err = res.UnmarshalJSON(rpcRes.Result) require.NoError(t, err) postTxLatestBalance := res.ToInt() @@ -95,10 +83,10 @@ func TestEth_Pending_GetBalance(t *testing.T) { } func TestEth_Pending_GetTransactionCount(t *testing.T) { - prePendingNonce := util.GetNonce(t, "pending") + prePendingNonce := GetNonce(t, "pending") t.Logf("Pending nonce before tx is %d", prePendingNonce) - currentNonce := util.GetNonce(t, "latest") + currentNonce := GetNonce(t, "latest") t.Logf("Current nonce is %d", currentNonce) require.Equal(t, prePendingNonce, currentNonce) @@ -110,13 +98,13 @@ func TestEth_Pending_GetTransactionCount(t *testing.T) { param[0]["gasLimit"] = "0x5208" param[0]["gasPrice"] = "0x1" - txRes := util.Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) + txRes := Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) require.Nil(t, txRes.Error) - txRes = util.Call(t, "eth_sendTransaction", param) + txRes = Call(t, "eth_sendTransaction", param) require.Nil(t, txRes.Error) - pendingNonce := util.GetNonce(t, "pending") - latestNonce := util.GetNonce(t, "latest") + pendingNonce := GetNonce(t, "pending") + latestNonce := GetNonce(t, "latest") t.Logf("Latest nonce is %d", latestNonce) require.Equal(t, currentNonce+1, latestNonce) @@ -128,13 +116,13 @@ func TestEth_Pending_GetTransactionCount(t *testing.T) { } func TestEth_Pending_GetBlockTransactionCountByNumber(t *testing.T) { - rpcRes := util.Call(t, "eth_getBlockTransactionCountByNumber", []interface{}{"pending"}) + rpcRes := Call(t, "eth_getBlockTransactionCountByNumber", []interface{}{"pending"}) var preTxPendingTxCount hexutil.Uint err := json.Unmarshal(rpcRes.Result, &preTxPendingTxCount) require.NoError(t, err) t.Logf("Pre tx pending nonce is %d", preTxPendingTxCount) - rpcRes = util.Call(t, "eth_getBlockTransactionCountByNumber", []interface{}{"latest"}) + rpcRes = Call(t, "eth_getBlockTransactionCountByNumber", []interface{}{"latest"}) var preTxLatestTxCount hexutil.Uint err = json.Unmarshal(rpcRes.Result, &preTxLatestTxCount) require.NoError(t, err) @@ -150,19 +138,19 @@ func TestEth_Pending_GetBlockTransactionCountByNumber(t *testing.T) { param[0]["gasLimit"] = "0x5208" param[0]["gasPrice"] = "0x1" - txRes := util.Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) + txRes := Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) require.Nil(t, txRes.Error) - txRes = util.Call(t, "eth_sendTransaction", param) + txRes = Call(t, "eth_sendTransaction", param) require.Nil(t, txRes.Error) - rpcRes = util.Call(t, "eth_getBlockTransactionCountByNumber", []interface{}{"pending"}) + rpcRes = Call(t, "eth_getBlockTransactionCountByNumber", []interface{}{"pending"}) var postTxPendingTxCount hexutil.Uint err = json.Unmarshal(rpcRes.Result, &postTxPendingTxCount) require.NoError(t, err) t.Logf("Post tx pending nonce is %d", postTxPendingTxCount) - rpcRes = util.Call(t, "eth_getBlockTransactionCountByNumber", []interface{}{"latest"}) + rpcRes = Call(t, "eth_getBlockTransactionCountByNumber", []interface{}{"latest"}) var postTxLatestTxCount hexutil.Uint err = json.Unmarshal(rpcRes.Result, &postTxLatestTxCount) require.NoError(t, err) @@ -175,13 +163,13 @@ func TestEth_Pending_GetBlockTransactionCountByNumber(t *testing.T) { } func TestEth_Pending_GetBlockByNumber(t *testing.T) { - rpcRes := util.Call(t, "eth_getBlockByNumber", []interface{}{"latest", true}) + rpcRes := Call(t, "eth_getBlockByNumber", []interface{}{"latest", true}) var preTxLatestBlock map[string]interface{} err := json.Unmarshal(rpcRes.Result, &preTxLatestBlock) require.NoError(t, err) preTxLatestTxs := len(preTxLatestBlock["transactions"].([]interface{})) - rpcRes = util.Call(t, "eth_getBlockByNumber", []interface{}{"pending", true}) + rpcRes = Call(t, "eth_getBlockByNumber", []interface{}{"pending", true}) var preTxPendingBlock map[string]interface{} err = json.Unmarshal(rpcRes.Result, &preTxPendingBlock) require.NoError(t, err) @@ -195,19 +183,19 @@ func TestEth_Pending_GetBlockByNumber(t *testing.T) { param[0]["gasLimit"] = "0x5208" param[0]["gasPrice"] = "0x1" - txRes := util.Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) + txRes := Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) require.Nil(t, txRes.Error) - txRes = util.Call(t, "eth_sendTransaction", param) + txRes = Call(t, "eth_sendTransaction", param) require.Nil(t, txRes.Error) - rpcRes = util.Call(t, "eth_getBlockByNumber", []interface{}{"pending", true}) + rpcRes = Call(t, "eth_getBlockByNumber", []interface{}{"pending", true}) var postTxPendingBlock map[string]interface{} err = json.Unmarshal(rpcRes.Result, &postTxPendingBlock) require.NoError(t, err) postTxPendingTxs := len(postTxPendingBlock["transactions"].([]interface{})) require.Equal(t, postTxPendingTxs, preTxPendingTxs) - rpcRes = util.Call(t, "eth_getBlockByNumber", []interface{}{"latest", true}) + rpcRes = Call(t, "eth_getBlockByNumber", []interface{}{"latest", true}) var postTxLatestBlock map[string]interface{} err = json.Unmarshal(rpcRes.Result, &postTxLatestBlock) require.NoError(t, err) @@ -219,7 +207,7 @@ func TestEth_Pending_GetBlockByNumber(t *testing.T) { func TestEth_Pending_GetTransactionByBlockNumberAndIndex(t *testing.T) { var pendingTx []*rpctypes.RPCTransaction - resPendingTxs := util.Call(t, "eth_pendingTransactions", []string{}) + resPendingTxs := Call(t, "eth_pendingTransactions", []string{}) err := json.Unmarshal(resPendingTxs.Result, &pendingTx) require.NoError(t, err) pendingTxCount := len(pendingTx) @@ -234,9 +222,9 @@ func TestEth_Pending_GetTransactionByBlockNumberAndIndex(t *testing.T) { param[0]["gasPrice"] = "0x1" param[0]["data"] = data - txRes := util.Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) + txRes := Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) require.Nil(t, txRes.Error) - txRes = util.Call(t, "eth_sendTransaction", param) + txRes = Call(t, "eth_sendTransaction", param) require.Nil(t, txRes.Error) // test will be blocked here until tx gets confirmed @@ -244,7 +232,7 @@ func TestEth_Pending_GetTransactionByBlockNumberAndIndex(t *testing.T) { err = json.Unmarshal(txRes.Result, &txHash) require.NoError(t, err) - rpcRes := util.Call(t, "eth_getTransactionByBlockNumberAndIndex", []interface{}{"latest", "0x" + fmt.Sprintf("%X", pendingTxCount)}) + rpcRes := Call(t, "eth_getTransactionByBlockNumberAndIndex", []interface{}{"latest", "0x" + fmt.Sprintf("%X", pendingTxCount)}) var latestBlockTx map[string]interface{} err = json.Unmarshal(rpcRes.Result, &latestBlockTx) require.NoError(t, err) @@ -254,7 +242,7 @@ func TestEth_Pending_GetTransactionByBlockNumberAndIndex(t *testing.T) { require.Equal(t, latestBlockTx["value"], "0xa") require.Equal(t, data, latestBlockTx["input"]) - rpcRes = util.Call(t, "eth_getTransactionByBlockNumberAndIndex", []interface{}{"pending", "0x" + fmt.Sprintf("%X", pendingTxCount)}) + rpcRes = Call(t, "eth_getTransactionByBlockNumberAndIndex", []interface{}{"pending", "0x" + fmt.Sprintf("%X", pendingTxCount)}) var pendingBlock map[string]interface{} err = json.Unmarshal(rpcRes.Result, &pendingBlock) require.NoError(t, err) @@ -274,15 +262,15 @@ func TestEth_Pending_GetTransactionByHash(t *testing.T) { param[0]["gasPrice"] = "0x1" param[0]["data"] = data - txRes := util.Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) + txRes := Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) require.Nil(t, txRes.Error) - txRes = util.Call(t, "eth_sendTransaction", param) + txRes = Call(t, "eth_sendTransaction", param) var txHash common.Hash err := txHash.UnmarshalJSON(txRes.Result) require.NoError(t, err) - rpcRes := util.Call(t, "eth_getTransactionByHash", []interface{}{txHash}) + rpcRes := Call(t, "eth_getTransactionByHash", []interface{}{txHash}) var pendingBlockTx map[string]interface{} err = json.Unmarshal(rpcRes.Result, &pendingBlockTx) require.NoError(t, err) @@ -295,7 +283,7 @@ func TestEth_Pending_GetTransactionByHash(t *testing.T) { } func TestEth_Pending_SendTransaction_PendingNonce(t *testing.T) { - currNonce := util.GetNonce(t, "latest") + currNonce := GetNonce(t, "latest") param := make([]map[string]string, 1) param[0] = make(map[string]string) param[0]["from"] = "0x" + fmt.Sprintf("%x", from) @@ -304,28 +292,28 @@ func TestEth_Pending_SendTransaction_PendingNonce(t *testing.T) { param[0]["gasLimit"] = "0x5208" param[0]["gasPrice"] = "0x1" - txRes := util.Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) + txRes := Call(t, "personal_unlockAccount", []interface{}{param[0]["from"], ""}) require.Nil(t, txRes.Error) // first transaction - txRes1 := util.Call(t, "eth_sendTransaction", param) + txRes1 := Call(t, "eth_sendTransaction", param) require.Nil(t, txRes1.Error) - pendingNonce1 := util.GetNonce(t, "pending") + pendingNonce1 := GetNonce(t, "pending") require.Greater(t, uint64(pendingNonce1), uint64(currNonce)) // second transaction param[0]["to"] = "0x7f0f463c4d57b1bd3e3b79051e6c5ab703e803d9" - txRes2 := util.Call(t, "eth_sendTransaction", param) + txRes2 := Call(t, "eth_sendTransaction", param) require.Nil(t, txRes2.Error) - pendingNonce2 := util.GetNonce(t, "pending") + pendingNonce2 := GetNonce(t, "pending") require.Greater(t, uint64(pendingNonce2), uint64(currNonce)) require.Greater(t, uint64(pendingNonce2), uint64(pendingNonce1)) // third transaction param[0]["to"] = "0x7fb24493808b3f10527e3e0870afeb8a953052d2" - txRes3 := util.Call(t, "eth_sendTransaction", param) + txRes3 := Call(t, "eth_sendTransaction", param) require.Nil(t, txRes3.Error) - pendingNonce3 := util.GetNonce(t, "pending") + pendingNonce3 := GetNonce(t, "pending") require.Greater(t, uint64(pendingNonce3), uint64(currNonce)) require.Greater(t, uint64(pendingNonce3), uint64(pendingNonce2)) } diff --git a/tests/rpc_test.go b/tests/rpc/rpc_test.go similarity index 99% rename from tests/rpc_test.go rename to tests/rpc/rpc_test.go index 09a69ec6..1a69406a 100644 --- a/tests/rpc_test.go +++ b/tests/rpc/rpc_test.go @@ -4,7 +4,7 @@ // and have started the RPC service with `injectived rest-server`. // // You can configure the desired HOST and MODE as well -package tests +package rpc import ( "bytes" diff --git a/tests/utils.go b/tests/rpc/utils.go similarity index 99% rename from tests/utils.go rename to tests/rpc/utils.go index 1386f64f..c2a1a795 100644 --- a/tests/utils.go +++ b/tests/rpc/utils.go @@ -1,4 +1,4 @@ -package tests +package rpc import ( "bytes" diff --git a/tests-solidity/.gitattributes b/tests/solidity/.gitattributes similarity index 100% rename from tests-solidity/.gitattributes rename to tests/solidity/.gitattributes diff --git a/tests-solidity/.gitignore b/tests/solidity/.gitignore similarity index 100% rename from tests-solidity/.gitignore rename to tests/solidity/.gitignore diff --git a/tests-solidity/README.md b/tests/solidity/README.md similarity index 100% rename from tests-solidity/README.md rename to tests/solidity/README.md diff --git a/tests-solidity/init-test-node.sh b/tests/solidity/init-test-node.sh similarity index 100% rename from tests-solidity/init-test-node.sh rename to tests/solidity/init-test-node.sh diff --git a/tests-solidity/package.json b/tests/solidity/package.json similarity index 100% rename from tests-solidity/package.json rename to tests/solidity/package.json diff --git a/tests-solidity/suites/basic/contracts/Counter.sol b/tests/solidity/suites/basic/contracts/Counter.sol similarity index 100% rename from tests-solidity/suites/basic/contracts/Counter.sol rename to tests/solidity/suites/basic/contracts/Counter.sol diff --git a/tests-solidity/suites/basic/contracts/test/Migrations.sol b/tests/solidity/suites/basic/contracts/test/Migrations.sol similarity index 100% rename from tests-solidity/suites/basic/contracts/test/Migrations.sol rename to tests/solidity/suites/basic/contracts/test/Migrations.sol diff --git a/tests-solidity/suites/basic/main.go b/tests/solidity/suites/basic/main.go similarity index 100% rename from tests-solidity/suites/basic/main.go rename to tests/solidity/suites/basic/main.go diff --git a/tests-solidity/suites/basic/migrations/1_initial_migration.js b/tests/solidity/suites/basic/migrations/1_initial_migration.js similarity index 100% rename from tests-solidity/suites/basic/migrations/1_initial_migration.js rename to tests/solidity/suites/basic/migrations/1_initial_migration.js diff --git a/tests-solidity/suites/basic/package.json b/tests/solidity/suites/basic/package.json similarity index 100% rename from tests-solidity/suites/basic/package.json rename to tests/solidity/suites/basic/package.json diff --git a/tests-solidity/suites/basic/test/.gitkeep b/tests/solidity/suites/basic/test/.gitkeep similarity index 100% rename from tests-solidity/suites/basic/test/.gitkeep rename to tests/solidity/suites/basic/test/.gitkeep diff --git a/tests-solidity/suites/basic/test/counter.js b/tests/solidity/suites/basic/test/counter.js similarity index 100% rename from tests-solidity/suites/basic/test/counter.js rename to tests/solidity/suites/basic/test/counter.js diff --git a/tests-solidity/suites/basic/truffle-config.js b/tests/solidity/suites/basic/truffle-config.js similarity index 100% rename from tests-solidity/suites/basic/truffle-config.js rename to tests/solidity/suites/basic/truffle-config.js diff --git a/tests-solidity/suites/initializable-buidler/.gitignore b/tests/solidity/suites/initializable-buidler/.gitignore similarity index 100% rename from tests-solidity/suites/initializable-buidler/.gitignore rename to tests/solidity/suites/initializable-buidler/.gitignore diff --git a/tests-solidity/suites/initializable-buidler/buidler.config.js b/tests/solidity/suites/initializable-buidler/buidler.config.js similarity index 100% rename from tests-solidity/suites/initializable-buidler/buidler.config.js rename to tests/solidity/suites/initializable-buidler/buidler.config.js diff --git a/tests-solidity/suites/initializable-buidler/contracts/Initializable.sol b/tests/solidity/suites/initializable-buidler/contracts/Initializable.sol similarity index 100% rename from tests-solidity/suites/initializable-buidler/contracts/Initializable.sol rename to tests/solidity/suites/initializable-buidler/contracts/Initializable.sol diff --git a/tests-solidity/suites/initializable-buidler/contracts/Petrifiable.sol b/tests/solidity/suites/initializable-buidler/contracts/Petrifiable.sol similarity index 100% rename from tests-solidity/suites/initializable-buidler/contracts/Petrifiable.sol rename to tests/solidity/suites/initializable-buidler/contracts/Petrifiable.sol diff --git a/tests-solidity/suites/initializable-buidler/contracts/TimeHelpers.sol b/tests/solidity/suites/initializable-buidler/contracts/TimeHelpers.sol similarity index 100% rename from tests-solidity/suites/initializable-buidler/contracts/TimeHelpers.sol rename to tests/solidity/suites/initializable-buidler/contracts/TimeHelpers.sol diff --git a/tests-solidity/suites/initializable-buidler/contracts/Uint256Helpers.sol b/tests/solidity/suites/initializable-buidler/contracts/Uint256Helpers.sol similarity index 100% rename from tests-solidity/suites/initializable-buidler/contracts/Uint256Helpers.sol rename to tests/solidity/suites/initializable-buidler/contracts/Uint256Helpers.sol diff --git a/tests-solidity/suites/initializable-buidler/contracts/UnstructuredStorage.sol b/tests/solidity/suites/initializable-buidler/contracts/UnstructuredStorage.sol similarity index 100% rename from tests-solidity/suites/initializable-buidler/contracts/UnstructuredStorage.sol rename to tests/solidity/suites/initializable-buidler/contracts/UnstructuredStorage.sol diff --git a/tests-solidity/suites/initializable-buidler/contracts/test/InitializableMock.sol b/tests/solidity/suites/initializable-buidler/contracts/test/InitializableMock.sol similarity index 100% rename from tests-solidity/suites/initializable-buidler/contracts/test/InitializableMock.sol rename to tests/solidity/suites/initializable-buidler/contracts/test/InitializableMock.sol diff --git a/tests-solidity/suites/initializable-buidler/package.json b/tests/solidity/suites/initializable-buidler/package.json similarity index 100% rename from tests-solidity/suites/initializable-buidler/package.json rename to tests/solidity/suites/initializable-buidler/package.json diff --git a/tests-solidity/suites/initializable-buidler/test/lifecycle.js b/tests/solidity/suites/initializable-buidler/test/lifecycle.js similarity index 100% rename from tests-solidity/suites/initializable-buidler/test/lifecycle.js rename to tests/solidity/suites/initializable-buidler/test/lifecycle.js diff --git a/tests-solidity/suites/initializable/contracts/Initializable.sol b/tests/solidity/suites/initializable/contracts/Initializable.sol similarity index 100% rename from tests-solidity/suites/initializable/contracts/Initializable.sol rename to tests/solidity/suites/initializable/contracts/Initializable.sol diff --git a/tests-solidity/suites/initializable/contracts/Petrifiable.sol b/tests/solidity/suites/initializable/contracts/Petrifiable.sol similarity index 100% rename from tests-solidity/suites/initializable/contracts/Petrifiable.sol rename to tests/solidity/suites/initializable/contracts/Petrifiable.sol diff --git a/tests-solidity/suites/initializable/contracts/TimeHelpers.sol b/tests/solidity/suites/initializable/contracts/TimeHelpers.sol similarity index 100% rename from tests-solidity/suites/initializable/contracts/TimeHelpers.sol rename to tests/solidity/suites/initializable/contracts/TimeHelpers.sol diff --git a/tests-solidity/suites/initializable/contracts/Uint256Helpers.sol b/tests/solidity/suites/initializable/contracts/Uint256Helpers.sol similarity index 100% rename from tests-solidity/suites/initializable/contracts/Uint256Helpers.sol rename to tests/solidity/suites/initializable/contracts/Uint256Helpers.sol diff --git a/tests-solidity/suites/initializable/contracts/UnstructuredStorage.sol b/tests/solidity/suites/initializable/contracts/UnstructuredStorage.sol similarity index 100% rename from tests-solidity/suites/initializable/contracts/UnstructuredStorage.sol rename to tests/solidity/suites/initializable/contracts/UnstructuredStorage.sol diff --git a/tests-solidity/suites/initializable/contracts/test/InitializableMock.sol b/tests/solidity/suites/initializable/contracts/test/InitializableMock.sol similarity index 100% rename from tests-solidity/suites/initializable/contracts/test/InitializableMock.sol rename to tests/solidity/suites/initializable/contracts/test/InitializableMock.sol diff --git a/tests-solidity/suites/initializable/contracts/test/Migrations.sol b/tests/solidity/suites/initializable/contracts/test/Migrations.sol similarity index 100% rename from tests-solidity/suites/initializable/contracts/test/Migrations.sol rename to tests/solidity/suites/initializable/contracts/test/Migrations.sol diff --git a/tests-solidity/suites/initializable/migrations/1_initial_migration.js b/tests/solidity/suites/initializable/migrations/1_initial_migration.js similarity index 100% rename from tests-solidity/suites/initializable/migrations/1_initial_migration.js rename to tests/solidity/suites/initializable/migrations/1_initial_migration.js diff --git a/tests-solidity/suites/initializable/package.json b/tests/solidity/suites/initializable/package.json similarity index 100% rename from tests-solidity/suites/initializable/package.json rename to tests/solidity/suites/initializable/package.json diff --git a/tests-solidity/suites/initializable/test/.gitkeep b/tests/solidity/suites/initializable/test/.gitkeep similarity index 100% rename from tests-solidity/suites/initializable/test/.gitkeep rename to tests/solidity/suites/initializable/test/.gitkeep diff --git a/tests-solidity/suites/initializable/test/lifecycle.js b/tests/solidity/suites/initializable/test/lifecycle.js similarity index 100% rename from tests-solidity/suites/initializable/test/lifecycle.js rename to tests/solidity/suites/initializable/test/lifecycle.js diff --git a/tests-solidity/suites/initializable/truffle-config.js b/tests/solidity/suites/initializable/truffle-config.js similarity index 100% rename from tests-solidity/suites/initializable/truffle-config.js rename to tests/solidity/suites/initializable/truffle-config.js diff --git a/tests-solidity/suites/proxy/contracts/DelegateProxy.sol b/tests/solidity/suites/proxy/contracts/DelegateProxy.sol similarity index 100% rename from tests-solidity/suites/proxy/contracts/DelegateProxy.sol rename to tests/solidity/suites/proxy/contracts/DelegateProxy.sol diff --git a/tests-solidity/suites/proxy/contracts/DepositableDelegateProxy.sol b/tests/solidity/suites/proxy/contracts/DepositableDelegateProxy.sol similarity index 100% rename from tests-solidity/suites/proxy/contracts/DepositableDelegateProxy.sol rename to tests/solidity/suites/proxy/contracts/DepositableDelegateProxy.sol diff --git a/tests-solidity/suites/proxy/contracts/DepositableStorage.sol b/tests/solidity/suites/proxy/contracts/DepositableStorage.sol similarity index 100% rename from tests-solidity/suites/proxy/contracts/DepositableStorage.sol rename to tests/solidity/suites/proxy/contracts/DepositableStorage.sol diff --git a/tests-solidity/suites/proxy/contracts/ERCProxy.sol b/tests/solidity/suites/proxy/contracts/ERCProxy.sol similarity index 100% rename from tests-solidity/suites/proxy/contracts/ERCProxy.sol rename to tests/solidity/suites/proxy/contracts/ERCProxy.sol diff --git a/tests-solidity/suites/proxy/contracts/IsContract.sol b/tests/solidity/suites/proxy/contracts/IsContract.sol similarity index 100% rename from tests-solidity/suites/proxy/contracts/IsContract.sol rename to tests/solidity/suites/proxy/contracts/IsContract.sol diff --git a/tests-solidity/suites/proxy/contracts/UnstructuredStorage.sol b/tests/solidity/suites/proxy/contracts/UnstructuredStorage.sol similarity index 100% rename from tests-solidity/suites/proxy/contracts/UnstructuredStorage.sol rename to tests/solidity/suites/proxy/contracts/UnstructuredStorage.sol diff --git a/tests-solidity/suites/proxy/contracts/test/DepositableDelegateProxyMock.sol b/tests/solidity/suites/proxy/contracts/test/DepositableDelegateProxyMock.sol similarity index 100% rename from tests-solidity/suites/proxy/contracts/test/DepositableDelegateProxyMock.sol rename to tests/solidity/suites/proxy/contracts/test/DepositableDelegateProxyMock.sol diff --git a/tests-solidity/suites/proxy/contracts/test/EthSender.sol b/tests/solidity/suites/proxy/contracts/test/EthSender.sol similarity index 100% rename from tests-solidity/suites/proxy/contracts/test/EthSender.sol rename to tests/solidity/suites/proxy/contracts/test/EthSender.sol diff --git a/tests-solidity/suites/proxy/contracts/test/Migrations.sol b/tests/solidity/suites/proxy/contracts/test/Migrations.sol similarity index 100% rename from tests-solidity/suites/proxy/contracts/test/Migrations.sol rename to tests/solidity/suites/proxy/contracts/test/Migrations.sol diff --git a/tests-solidity/suites/proxy/contracts/test/ProxyTarget.sol b/tests/solidity/suites/proxy/contracts/test/ProxyTarget.sol similarity index 100% rename from tests-solidity/suites/proxy/contracts/test/ProxyTarget.sol rename to tests/solidity/suites/proxy/contracts/test/ProxyTarget.sol diff --git a/tests-solidity/suites/proxy/migrations/1_initial_migration.js b/tests/solidity/suites/proxy/migrations/1_initial_migration.js similarity index 100% rename from tests-solidity/suites/proxy/migrations/1_initial_migration.js rename to tests/solidity/suites/proxy/migrations/1_initial_migration.js diff --git a/tests-solidity/suites/proxy/package.json b/tests/solidity/suites/proxy/package.json similarity index 100% rename from tests-solidity/suites/proxy/package.json rename to tests/solidity/suites/proxy/package.json diff --git a/tests-solidity/suites/proxy/test/.gitkeep b/tests/solidity/suites/proxy/test/.gitkeep similarity index 100% rename from tests-solidity/suites/proxy/test/.gitkeep rename to tests/solidity/suites/proxy/test/.gitkeep diff --git a/tests-solidity/suites/proxy/test/depositable_delegate_proxy.js b/tests/solidity/suites/proxy/test/depositable_delegate_proxy.js similarity index 100% rename from tests-solidity/suites/proxy/test/depositable_delegate_proxy.js rename to tests/solidity/suites/proxy/test/depositable_delegate_proxy.js diff --git a/tests-solidity/suites/proxy/truffle-config.js b/tests/solidity/suites/proxy/truffle-config.js similarity index 100% rename from tests-solidity/suites/proxy/truffle-config.js rename to tests/solidity/suites/proxy/truffle-config.js diff --git a/tests-solidity/suites/staking/.github/workflows/ci_contracts.yml b/tests/solidity/suites/staking/.github/workflows/ci_contracts.yml similarity index 100% rename from tests-solidity/suites/staking/.github/workflows/ci_contracts.yml rename to tests/solidity/suites/staking/.github/workflows/ci_contracts.yml diff --git a/tests-solidity/suites/staking/contracts/Staking.sol b/tests/solidity/suites/staking/contracts/Staking.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/Staking.sol rename to tests/solidity/suites/staking/contracts/Staking.sol diff --git a/tests-solidity/suites/staking/contracts/StakingFactory.sol b/tests/solidity/suites/staking/contracts/StakingFactory.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/StakingFactory.sol rename to tests/solidity/suites/staking/contracts/StakingFactory.sol diff --git a/tests-solidity/suites/staking/contracts/lib/Checkpointing.sol b/tests/solidity/suites/staking/contracts/lib/Checkpointing.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/Checkpointing.sol rename to tests/solidity/suites/staking/contracts/lib/Checkpointing.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/Autopetrified.sol b/tests/solidity/suites/staking/contracts/lib/os/Autopetrified.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/Autopetrified.sol rename to tests/solidity/suites/staking/contracts/lib/os/Autopetrified.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/DelegateProxy.sol b/tests/solidity/suites/staking/contracts/lib/os/DelegateProxy.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/DelegateProxy.sol rename to tests/solidity/suites/staking/contracts/lib/os/DelegateProxy.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/ERC20.sol b/tests/solidity/suites/staking/contracts/lib/os/ERC20.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/ERC20.sol rename to tests/solidity/suites/staking/contracts/lib/os/ERC20.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/ERCProxy.sol b/tests/solidity/suites/staking/contracts/lib/os/ERCProxy.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/ERCProxy.sol rename to tests/solidity/suites/staking/contracts/lib/os/ERCProxy.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/Initializable.sol b/tests/solidity/suites/staking/contracts/lib/os/Initializable.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/Initializable.sol rename to tests/solidity/suites/staking/contracts/lib/os/Initializable.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/IsContract.sol b/tests/solidity/suites/staking/contracts/lib/os/IsContract.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/IsContract.sol rename to tests/solidity/suites/staking/contracts/lib/os/IsContract.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/Migrations.sol b/tests/solidity/suites/staking/contracts/lib/os/Migrations.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/Migrations.sol rename to tests/solidity/suites/staking/contracts/lib/os/Migrations.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/Petrifiable.sol b/tests/solidity/suites/staking/contracts/lib/os/Petrifiable.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/Petrifiable.sol rename to tests/solidity/suites/staking/contracts/lib/os/Petrifiable.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/SafeERC20.sol b/tests/solidity/suites/staking/contracts/lib/os/SafeERC20.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/SafeERC20.sol rename to tests/solidity/suites/staking/contracts/lib/os/SafeERC20.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/SafeMath.sol b/tests/solidity/suites/staking/contracts/lib/os/SafeMath.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/SafeMath.sol rename to tests/solidity/suites/staking/contracts/lib/os/SafeMath.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/SafeMath64.sol b/tests/solidity/suites/staking/contracts/lib/os/SafeMath64.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/SafeMath64.sol rename to tests/solidity/suites/staking/contracts/lib/os/SafeMath64.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/ScriptHelpers.sol b/tests/solidity/suites/staking/contracts/lib/os/ScriptHelpers.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/ScriptHelpers.sol rename to tests/solidity/suites/staking/contracts/lib/os/ScriptHelpers.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/TimeHelpers.sol b/tests/solidity/suites/staking/contracts/lib/os/TimeHelpers.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/TimeHelpers.sol rename to tests/solidity/suites/staking/contracts/lib/os/TimeHelpers.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/Uint256Helpers.sol b/tests/solidity/suites/staking/contracts/lib/os/Uint256Helpers.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/Uint256Helpers.sol rename to tests/solidity/suites/staking/contracts/lib/os/Uint256Helpers.sol diff --git a/tests-solidity/suites/staking/contracts/lib/os/UnstructuredStorage.sol b/tests/solidity/suites/staking/contracts/lib/os/UnstructuredStorage.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/lib/os/UnstructuredStorage.sol rename to tests/solidity/suites/staking/contracts/lib/os/UnstructuredStorage.sol diff --git a/tests-solidity/suites/staking/contracts/locking/ILockManager.sol b/tests/solidity/suites/staking/contracts/locking/ILockManager.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/locking/ILockManager.sol rename to tests/solidity/suites/staking/contracts/locking/ILockManager.sol diff --git a/tests-solidity/suites/staking/contracts/locking/IStakingLocking.sol b/tests/solidity/suites/staking/contracts/locking/IStakingLocking.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/locking/IStakingLocking.sol rename to tests/solidity/suites/staking/contracts/locking/IStakingLocking.sol diff --git a/tests-solidity/suites/staking/contracts/locking/TimeLockManager.sol b/tests/solidity/suites/staking/contracts/locking/TimeLockManager.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/locking/TimeLockManager.sol rename to tests/solidity/suites/staking/contracts/locking/TimeLockManager.sol diff --git a/tests-solidity/suites/staking/contracts/proxies/StakingProxy.sol b/tests/solidity/suites/staking/contracts/proxies/StakingProxy.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/proxies/StakingProxy.sol rename to tests/solidity/suites/staking/contracts/proxies/StakingProxy.sol diff --git a/tests-solidity/suites/staking/contracts/proxies/ThinProxy.sol b/tests/solidity/suites/staking/contracts/proxies/ThinProxy.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/proxies/ThinProxy.sol rename to tests/solidity/suites/staking/contracts/proxies/ThinProxy.sol diff --git a/tests-solidity/suites/staking/contracts/standards/ERC900.sol b/tests/solidity/suites/staking/contracts/standards/ERC900.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/standards/ERC900.sol rename to tests/solidity/suites/staking/contracts/standards/ERC900.sol diff --git a/tests-solidity/suites/staking/contracts/test/TestImports.sol b/tests/solidity/suites/staking/contracts/test/TestImports.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/test/TestImports.sol rename to tests/solidity/suites/staking/contracts/test/TestImports.sol diff --git a/tests-solidity/suites/staking/contracts/test/lib/EchidnaStaking.sol b/tests/solidity/suites/staking/contracts/test/lib/EchidnaStaking.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/test/lib/EchidnaStaking.sol rename to tests/solidity/suites/staking/contracts/test/lib/EchidnaStaking.sol diff --git a/tests-solidity/suites/staking/contracts/test/lib/ITokenController.sol b/tests/solidity/suites/staking/contracts/test/lib/ITokenController.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/test/lib/ITokenController.sol rename to tests/solidity/suites/staking/contracts/test/lib/ITokenController.sol diff --git a/tests-solidity/suites/staking/contracts/test/lib/MiniMeToken.sol b/tests/solidity/suites/staking/contracts/test/lib/MiniMeToken.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/test/lib/MiniMeToken.sol rename to tests/solidity/suites/staking/contracts/test/lib/MiniMeToken.sol diff --git a/tests-solidity/suites/staking/contracts/test/mocks/BadTokenMock.sol b/tests/solidity/suites/staking/contracts/test/mocks/BadTokenMock.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/test/mocks/BadTokenMock.sol rename to tests/solidity/suites/staking/contracts/test/mocks/BadTokenMock.sol diff --git a/tests-solidity/suites/staking/contracts/test/mocks/CheckpointingMock.sol b/tests/solidity/suites/staking/contracts/test/mocks/CheckpointingMock.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/test/mocks/CheckpointingMock.sol rename to tests/solidity/suites/staking/contracts/test/mocks/CheckpointingMock.sol diff --git a/tests-solidity/suites/staking/contracts/test/mocks/ERC20.sol b/tests/solidity/suites/staking/contracts/test/mocks/ERC20.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/test/mocks/ERC20.sol rename to tests/solidity/suites/staking/contracts/test/mocks/ERC20.sol diff --git a/tests-solidity/suites/staking/contracts/test/mocks/LockManagerMock.sol b/tests/solidity/suites/staking/contracts/test/mocks/LockManagerMock.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/test/mocks/LockManagerMock.sol rename to tests/solidity/suites/staking/contracts/test/mocks/LockManagerMock.sol diff --git a/tests-solidity/suites/staking/contracts/test/mocks/NoApproveTokenMock.sol b/tests/solidity/suites/staking/contracts/test/mocks/NoApproveTokenMock.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/test/mocks/NoApproveTokenMock.sol rename to tests/solidity/suites/staking/contracts/test/mocks/NoApproveTokenMock.sol diff --git a/tests-solidity/suites/staking/contracts/test/mocks/StakingMock.sol b/tests/solidity/suites/staking/contracts/test/mocks/StakingMock.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/test/mocks/StakingMock.sol rename to tests/solidity/suites/staking/contracts/test/mocks/StakingMock.sol diff --git a/tests-solidity/suites/staking/contracts/test/mocks/StandardTokenMock.sol b/tests/solidity/suites/staking/contracts/test/mocks/StandardTokenMock.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/test/mocks/StandardTokenMock.sol rename to tests/solidity/suites/staking/contracts/test/mocks/StandardTokenMock.sol diff --git a/tests-solidity/suites/staking/contracts/test/mocks/TimeHelpersMock.sol b/tests/solidity/suites/staking/contracts/test/mocks/TimeHelpersMock.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/test/mocks/TimeHelpersMock.sol rename to tests/solidity/suites/staking/contracts/test/mocks/TimeHelpersMock.sol diff --git a/tests-solidity/suites/staking/contracts/test/mocks/TimeLockManagerMock.sol b/tests/solidity/suites/staking/contracts/test/mocks/TimeLockManagerMock.sol similarity index 100% rename from tests-solidity/suites/staking/contracts/test/mocks/TimeLockManagerMock.sol rename to tests/solidity/suites/staking/contracts/test/mocks/TimeLockManagerMock.sol diff --git a/tests-solidity/suites/staking/package.json b/tests/solidity/suites/staking/package.json similarity index 100% rename from tests-solidity/suites/staking/package.json rename to tests/solidity/suites/staking/package.json diff --git a/tests-solidity/suites/staking/test/approve_and_call.js b/tests/solidity/suites/staking/test/approve_and_call.js similarity index 100% rename from tests-solidity/suites/staking/test/approve_and_call.js rename to tests/solidity/suites/staking/test/approve_and_call.js diff --git a/tests-solidity/suites/staking/test/gas.js b/tests/solidity/suites/staking/test/gas.js similarity index 100% rename from tests-solidity/suites/staking/test/gas.js rename to tests/solidity/suites/staking/test/gas.js diff --git a/tests-solidity/suites/staking/test/helpers/constants.js b/tests/solidity/suites/staking/test/helpers/constants.js similarity index 100% rename from tests-solidity/suites/staking/test/helpers/constants.js rename to tests/solidity/suites/staking/test/helpers/constants.js diff --git a/tests-solidity/suites/staking/test/helpers/deploy.js b/tests/solidity/suites/staking/test/helpers/deploy.js similarity index 100% rename from tests-solidity/suites/staking/test/helpers/deploy.js rename to tests/solidity/suites/staking/test/helpers/deploy.js diff --git a/tests-solidity/suites/staking/test/helpers/errors.js b/tests/solidity/suites/staking/test/helpers/errors.js similarity index 100% rename from tests-solidity/suites/staking/test/helpers/errors.js rename to tests/solidity/suites/staking/test/helpers/errors.js diff --git a/tests-solidity/suites/staking/test/helpers/helpers.js b/tests/solidity/suites/staking/test/helpers/helpers.js similarity index 100% rename from tests-solidity/suites/staking/test/helpers/helpers.js rename to tests/solidity/suites/staking/test/helpers/helpers.js diff --git a/tests-solidity/suites/staking/test/lib/checkpointing.js b/tests/solidity/suites/staking/test/lib/checkpointing.js similarity index 100% rename from tests-solidity/suites/staking/test/lib/checkpointing.js rename to tests/solidity/suites/staking/test/lib/checkpointing.js diff --git a/tests-solidity/suites/staking/test/locking/funds_flows.js b/tests/solidity/suites/staking/test/locking/funds_flows.js similarity index 100% rename from tests-solidity/suites/staking/test/locking/funds_flows.js rename to tests/solidity/suites/staking/test/locking/funds_flows.js diff --git a/tests-solidity/suites/staking/test/locking/locking.js b/tests/solidity/suites/staking/test/locking/locking.js similarity index 100% rename from tests-solidity/suites/staking/test/locking/locking.js rename to tests/solidity/suites/staking/test/locking/locking.js diff --git a/tests-solidity/suites/staking/test/locking/locking_time.js b/tests/solidity/suites/staking/test/locking/locking_time.js similarity index 100% rename from tests-solidity/suites/staking/test/locking/locking_time.js rename to tests/solidity/suites/staking/test/locking/locking_time.js diff --git a/tests-solidity/suites/staking/test/staking.js b/tests/solidity/suites/staking/test/staking.js similarity index 100% rename from tests-solidity/suites/staking/test/staking.js rename to tests/solidity/suites/staking/test/staking.js diff --git a/tests-solidity/suites/staking/test/staking_factory.js b/tests/solidity/suites/staking/test/staking_factory.js similarity index 100% rename from tests-solidity/suites/staking/test/staking_factory.js rename to tests/solidity/suites/staking/test/staking_factory.js diff --git a/tests-solidity/suites/staking/test/staking_proxy.js b/tests/solidity/suites/staking/test/staking_proxy.js similarity index 100% rename from tests-solidity/suites/staking/test/staking_proxy.js rename to tests/solidity/suites/staking/test/staking_proxy.js diff --git a/tests-solidity/suites/staking/test/transfers.js b/tests/solidity/suites/staking/test/transfers.js similarity index 100% rename from tests-solidity/suites/staking/test/transfers.js rename to tests/solidity/suites/staking/test/transfers.js diff --git a/tests-solidity/suites/staking/truffle-config.js b/tests/solidity/suites/staking/truffle-config.js similarity index 100% rename from tests-solidity/suites/staking/truffle-config.js rename to tests/solidity/suites/staking/truffle-config.js