862367cbdc | ||
---|---|---|
.. | ||
testchain/keystore | ||
00_runGeth.sh | ||
01_test1.sh | ||
PresaleOracles_flat.js | ||
PresaleOracles_flat.sol | ||
README.md | ||
deploymentData.txt | ||
functions.js | ||
genesis.json | ||
settings.txt | ||
test1output.txt | ||
test1results.txt | ||
testpassword |
README.md
Contract - Testing
Table of contents
Requirements
- The tests works on OS/X. Should work in Linux. May work in Windows with Cygwin
- Geth/v1.7.2-stable-1db4ecdc/darwin-amd64/go1.9
- Solc 0.4.18+commit.9cf6e910.Darwin.appleclang
Executing The Tests
-
Run
geth
in dev mode./00_runGeth.sh
-
Run the test in 01_test1.sh
./01_test1.sh
-
See test1results.txt for the results and test1output.txt for the full output.
Notes
- The tests were conducted using bash shell scripts running Geth/v1.7.2-stable-1db4ecdc/darwin-amd64/go1.9 JavaScript commands
- The smart contracts were compiled using Solidity 0.4.18+commit.9cf6e910.Darwin.appleclang
- The test script can be found in 01_test1.sh
- The test results can be found in test1results.txt with details in test1output.txt
- The test can be run on OS/X, should run on Linux and may run on Windows with Cygwin
- The genesis.json allocates ethers to the test accounts, and specifies a high block gas limit to accommodate many transactions in the same block
- The 00_runGeth.sh scripts starts
geth
with the parameter--targetgaslimit 994712388
to keep the high block gas limit - The reasons for using the test environment as listed above, instead of truffles/testrpc are:
- The test are conducted using the actual blockchain client software as is running on Mainnet and not just a mock environment like testrpc
- It is easy to change parameters like dates, addresses or blocknumbers using the Unix search/replace tools
- There have been issues in the part with version incompatibility between testrpc and solidity, i.e., version mismatches
- The intermediate and key results are all saved to later viewing