Commit Graph

320 Commits

Author SHA1 Message Date
Jeffrey Wilcke ac697326a6 core/vm: reduced big int allocations
Reduced big int allocation by making stack items modifiable. Instead of
adding items such as `common.Big0` to the stack, `new(big.Int)` is
added instead. One must expect that any item that is added to the stack
might change.
2015-08-07 12:52:23 +02:00
Jeffrey Wilcke 184e9ae9a8 core, tests: reduced state copy by N calls
Reduced the amount of state copied that are required by N calls by doing
a balance check prior to any state modifications.
2015-08-07 12:52:23 +02:00
Jeffrey Wilcke 846f34f78b core/vm, tests: implemented semi-jit vm
* changed stack and removed stack ptr. Let go decide on slice reuse.
2015-08-07 12:52:17 +02:00
Jeffrey Wilcke 71d32f54f7 core, miner: added difficulty bomb 2015-08-05 13:09:09 +02:00
Jeffrey Wilcke 03c39d4fc0 tests: updated 2015-07-29 15:01:42 +02:00
Jeffrey Wilcke 1fad8798ec Merge pull request #1515 from fjl/license-fixes
all: fix license headers one more time
2015-07-28 04:29:42 -07:00
Jeffrey Wilcke 9afda6ab8c core: 5 ether block reward 2015-07-25 17:47:20 +02:00
Felix Lange bfbcfbe4a9 all: fix license headers one more time
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
2015-07-23 18:35:11 +02:00
Felix Lange 3f047be5aa all: update license headers to distiguish GPL/LGPL
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Felix Lange 593b1b65e7 tests: document RLP tests 2015-07-17 15:42:23 +02:00
Felix Lange 5da82077d1 cmd/ethtest, tests: add support for RLP JSON tests 2015-07-17 15:13:24 +02:00
Jeffrey Wilcke a32c51effd cmd, core, eth, common: genesis preparation
Implemented the --genesis flag thru which we can set a custom genesis
block, including the official Ethereum genesis block.
2015-07-10 17:37:41 +02:00
Gustav Simonsson b08abe64e4 Unskip SimpleTx3, check err in pre/post state validations 2015-07-08 13:09:22 +02:00
Gustav Simonsson 0b53a5c673 Update Ethereum JSON test files and wrappers 2015-07-08 13:08:42 +02:00
Felix Lange bdae4fd573 all: add some godoc synopsis comments 2015-07-07 14:12:45 +02:00
Felix Lange ea54283b30 all: update license information 2015-07-07 14:12:44 +02:00
Jeffrey Wilcke 35cd355c14 cmd,eth,rpc,tests: default coinbase 2015-07-07 10:32:05 +02:00
Gustav Simonsson b7e8d954ef Add TestBcGasPricer, comments and unskip tests 2015-07-06 13:56:56 +02:00
Jeffrey Wilcke aa4502060b Merge pull request #1400 from obscuren/badblock-reporting
core, miner, tests: added test, implemented bad block reporting
2015-07-06 02:03:50 -07:00
Jeffrey Wilcke bcc1660abc core, miner, tests: added test, implemented bad block reporting 2015-07-05 15:14:31 +02:00
Gustav Simonsson 0f04af5916 Fix core error forwarding, unify OOG VM err 2015-07-04 09:27:42 +02:00
Jeffrey Wilcke ab16ce70fc core, miner, tests: renamed state methods
* Update => SyncIntermediate
* Added SyncObjects

SyncIntermediate only updates whatever has changed, but, as a side
effect, requires much more disk space.

SyncObjects will only sync whatever is required for a block and will not
save intermediate state to disk. As drawback this requires more time
when more txs come in.
2015-07-04 02:51:36 +02:00
Gustav Simonsson ff97059a99 Update Ethereum JSON tests, skip failing 2015-07-03 09:40:07 +02:00
Gustav Simonsson 4c490db6af Use uint64 for block header timestamp 2015-06-30 10:52:11 +02:00
Felix Lange 1d42888d30 core/types: make blocks immutable 2015-06-29 18:51:47 +02:00
Felix Lange 654564e164 core/types: make transactions immutable 2015-06-29 18:51:47 +02:00
obscuren 398d08a8dd tests: SetGasLimit 2015-06-21 17:09:19 +02:00
Taylor Gerring 0743243dce Add --skip option to CLI
Disassociates hardcoded tests to skip when running via CLI. Tests still
skipped when running `go test`
2015-06-19 11:38:23 +02:00
Taylor Gerring a9659e6dcf recover test logic 2015-06-18 23:46:42 +02:00
Taylor Gerring 8d3faf69d0 Build error fixes 2015-06-18 22:38:17 +02:00
Taylor Gerring baea8e87e5 Rebase cleanup 2015-06-18 22:27:44 +02:00
Taylor Gerring 01ec4dbb12 Add stdin option 2015-06-18 22:24:07 +02:00
Taylor Gerring 30444db020 Add lost rebase changes 2015-06-18 22:20:45 +02:00
Taylor Gerring c941a39b75 Cleanup logging 2015-06-18 22:20:45 +02:00
Taylor Gerring 8507c867b9 Fix geth blocktest command 2015-06-18 22:20:45 +02:00
Taylor Gerring 6ff956394a DRY file loading 2015-06-18 22:20:45 +02:00
Taylor Gerring ac0637c413 More consistent test interfaces + test skipping 2015-06-18 22:20:44 +02:00
Taylor Gerring b6d40a9312 Cleanup/reorg 2015-06-18 22:20:44 +02:00
Taylor Gerring c5d6fcbaba Return error up stack instead of passing testing var down 2015-06-18 22:20:44 +02:00
Taylor Gerring 24554629b1 DRY log check 2015-06-18 22:15:08 +02:00
Taylor Gerring 7c6ef0ddac Separate and identify tests runners 2015-06-18 22:15:07 +02:00
Taylor Gerring 1b26d4f220 Flatten helper directory 2015-06-18 22:15:07 +02:00
Taylor Gerring e82100367f Fix paths 2015-06-18 22:13:42 +02:00
Taylor Gerring a67a15528a Split tests from helper code 2015-06-18 22:13:42 +02:00
Taylor Gerring 7b9fbb088a Flatten vm directory 2015-06-18 22:13:41 +02:00
Jeffrey Wilcke 2cea410656 Merge pull request #1282 from obscuren/state-cleanup
core/state: cleanup & optimisations
2015-06-18 05:29:53 -07:00
obscuren a977f3c0dc xeth, tests: fixed api 2015-06-17 11:44:40 +02:00
obscuren 787a61bb27 core/state, core/vm: reworked storage get / set to use common.Hash 2015-06-17 11:24:40 +02:00
Gustav Simonsson 8f372c867d Update Ethereum JSON test files 2015-06-16 12:09:25 +02:00
Jeffrey Wilcke 6609d45ef4 Merge pull request #1228 from obscuren/vm-optimisations
core/vm: optimisations
2015-06-11 03:32:39 -07:00
obscuren 38c61f6f25 core, core/vm: added structure logging
This also reduces the time required spend in the VM
2015-06-10 12:23:49 +02:00
obscuren 6a5c9aff3b tests: check gas limit error 2015-06-09 22:49:33 +02:00
Gustav Simonsson 15166f880b Skip BlockTests/bcValidBlockTests SimpleTx3 2015-06-09 15:53:31 +02:00
Gustav Simonsson d8e55a5cc3 Skip VMTests RandomTests temporarily until they are fixed 2015-06-09 15:40:43 +02:00
Gustav Simonsson e885a2912b Update Ethereum JSON test files 2015-06-09 15:39:24 +02:00
obscuren 246db4250b tests: use state logs instead own kept logs 2015-06-04 19:48:23 +02:00
Jeffrey Wilcke 122d2db095 Merge pull request #1150 from fjl/fix-jumpdest
core/vm: improve JUMPDEST analysis
2015-06-03 09:11:56 -07:00
Felix Lange c9ed9d253a tests/files: update tests to d309b4679a58d2 2015-06-03 16:25:06 +02:00
Gustav Simonsson 0fa9d2431f Add new 0th gen uncle test 2015-06-02 14:47:23 +02:00
Gustav Simonsson 8a76b45253 Use older version of stSpecialTest until JUMPDEST fix is merged 2015-06-02 12:25:43 +02:00
Gustav Simonsson 8962af2e42 Update Ethereum JSON test files 2015-06-02 12:15:25 +02:00
Gustav Simonsson 5a692ba4f6 Update Ethereum JSON test files 2015-06-01 22:34:44 +02:00
Gustav Simonsson b4818a003a Update Ethereum JSON test files 2015-05-29 13:12:54 +02:00
obscuren 6c2f6f5b03 tests: removed missing block test 2015-05-26 13:48:10 +02:00
obscuren 03faccfb08 tests: updated 2015-05-26 13:48:10 +02:00
Gustav Simonsson 6ad817e17b Add StateTests/RandomTests and VMTests/RandomTests 2015-05-21 23:04:46 +02:00
Gustav Simonsson 6a72cd45e2 Add wrapper for BlockTests/bcWalletTest.json 2015-05-18 16:28:54 +02:00
Gustav Simonsson 36419defd1 Update Ethereum JSON test files 2015-05-18 12:45:24 +02:00
obscuren 9617aa8e19 tests: added conditional skip on long running VM tests
Set the TEST_VM_COMPLEX env var to test complex vm tests which require a
lot of ram and quite some time.
2015-05-20 00:21:24 +02:00
obscuren f5af1fdca8 core/vm: RETURN op code returns pointer to memory rather than copy 2015-05-20 00:21:23 +02:00
obscuren 648b352424 tests/vm: updated tests and skipped output for specific tests
Skipped tests due to large return value
2015-05-20 00:21:23 +02:00
Gustav Simonsson 619e8a4f03 Add StateTests/RandomTests but skip for now 2015-05-15 19:17:40 +02:00
Gustav Simonsson 32276e8b01 Update StateTests and nil create return on failed code deposit 2015-05-15 18:49:31 +02:00
Gustav Simonsson 830bdb1cfd Update Ethereum JSON tests 2015-05-15 16:08:00 +02:00
Gustav Simonsson dadf01de60 unskip StateTests/stTransactionTest and use test tx nonce 2015-05-15 16:05:11 +02:00
Gustav Simonsson e389585f1f Change default keystore dir 2015-05-12 18:33:04 +02:00
Gustav Simonsson 2c1b0ff17e Update key store to new spec but keep address field for now
* Also fix address types post-rebase
2015-05-12 17:22:17 +02:00
Bas van Kervel b79dd188d9 replaced several path.* with filepath.* which is platform independent 2015-05-12 14:24:11 +02:00
obscuren 7eed47fad5 miner, tests: fixed block test 2015-05-09 12:51:40 +02:00
Gustav Simonsson 79eb40fc9f Add bcTotalDifficultyTest and unskip now working tx tests 2015-05-07 13:03:22 +02:00
Gustav Simonsson 2b716aec54 Update JSON test files 2015-05-07 12:44:29 +02:00
Gustav Simonsson 7bc1f487b8 Unskip now working tests, remove debug print 2015-05-06 23:25:44 +02:00
Gustav Simonsson f4341c7b7f Unskip working blocktests following ethash cache reusage 2015-05-05 08:34:29 +02:00
obscuren 735b029db9 core: return the index of the block that failed when inserting a chain 2015-04-29 14:00:24 +02:00
Gustav Simonsson 34c94d5fcd Add loading of block test privkey if present 2015-04-27 20:30:26 +02:00
Gustav Simonsson 2a61611c4f Update JSON tests 2015-04-27 19:09:20 +02:00
Gustav Simonsson 7a223721a5 Add block header validations for block tests 2015-04-23 05:32:56 +02:00
Gustav Simonsson 49da462e92 Include ZeroByteAtTheEnd and RandomByteAtTheEnd tests 2015-04-22 23:16:19 +02:00
Gustav Simonsson ec6acacc53 Unskip BlockTests/bcInvalidHeaderTest.json wrongUncleHash 2015-04-22 23:16:19 +02:00
Gustav Simonsson 9834f855fa Finally, glorious HEX 2015-04-22 23:16:19 +02:00
Gustav Simonsson 24de35ef09 Add StateTests/stMemoryStressTest.json but skip for now 2015-04-22 23:16:19 +02:00
Gustav Simonsson 5c70333a12 Exclude TransactionWithSvalue0 as it expects invalid s value to be valid 2015-04-22 23:16:18 +02:00
Gustav Simonsson 8ec8bff11c Update github.com/ethereum/tests files 2015-04-22 23:16:18 +02:00
Gustav Simonsson 573bc3e05e Explicitly skip TransactionTests/tt10mbDataField.json 2015-04-22 23:16:17 +02:00
Gustav Simonsson 7254278c09 Add test wrapper for VMTests/vmInputLimits1.json 2015-04-22 23:16:17 +02:00
Gustav Simonsson b448390889 Further fixes to block test wrapper
* Move go test wrapper for block tests from cmd/geth to tests
* Fix logic for when tests are valid or not, by adding correct
  validations for expected valid/invalid blocks
* Change block insertion helper to work on single blocks
* Add one test case for each file in BlockTests and comment out
  the tests which are currently failing
* Add Skip call in all block tests in lieu of performance fixes
  around ethash cache which are needed before it will be fast enough
  to start / stop the node between each test
2015-04-21 05:23:10 +02:00
Gustav Simonsson 805345d135 Add block tests wrapper and fixes for tx tests
* Add fixes to parsing and converting of fields in tx tests
* Correct logic in tx tests; validation of fields and correct
  logic for when RLP decoding works/fails and when this is
  expected or not
* Rename files for consistency
* Add block tests wrapper to run block tests with go test
2015-04-20 17:46:35 +02:00
Felix Lange c453f1f370 tests: hopefully improve test conversion helpers
(cherry picked from commit 035a30acbe)
2015-04-19 00:07:09 +02:00
Felix Lange 235ed7ecb9 cmd/geth, tests: enable running multiple tests from a single file
This commit also changes the block test loading so tests containing
invalid RLP blocks can be loaded and return an error only when they are
run.

(cherry picked from commit 898ba87984)
2015-04-19 00:06:52 +02:00
Gustav Simonsson c617a6ec79 Fixes for TransactionTests
* Include tests which now has consistent HEX encodings
* Comment out two failing tests: "
  "TransactionWithHihghNonce" due to wrong nonce size
  "TransactionWithSvalueHigh" due to wrong ECDSA s range
* Cleanup conversion functions and fix expected encodings for
  tests validation fields
2015-04-15 22:37:16 +02:00