aboutsummaryrefslogtreecommitdiffstats
path: root/tests/block_test_util.go
Commit message (Collapse)AuthorAgeFilesLines
* core, light: send chain events using event.Feed (#14865)Miya Chen2017-08-181-2/+1
|
* tests: update tests, use blockchain test "network" fieldFelix Lange2017-08-111-1/+7
| | | | | | | | | Blockchain tests now include the "network" which determines the chain config to use. Remove config matching based on test name and share the name-to-config index with state tests. Byzantium/Constantinople tests are still skipped because most of them fail anyway.
* tests: update tests and implement general state tests (#14734)Felix Lange2017-07-111-404/+118
| | | | | | | | | | | | | | Tests are now included as a submodule. This should make updating easier and removes ~60MB of JSON data from the working copy. State tests are replaced by General State Tests, which run the same test with multiple fork configurations. With the new test runner, consensus tests are run as subtests by walking json files. Many hex issues have been fixed upstream since the last update and most custom parsing code is replaced by existing JSON hex types. Tests can now be marked as 'expected failures', ensuring that fixes for those tests will trigger an update to test configuration. The new test runner also supports parallel execution and the -short flag.
* core/state: access trie through Database interface, track errors (#14589)Felix Lange2017-06-271-2/+2
| | | | | | | | | With this commit, core/state's access to the underlying key/value database is mediated through an interface. Database errors are tracked in StateDB and returned by CommitTo or the new Error method. Motivation for this change: We can remove the light client's duplicated copy of core/state. The light client now supports node iteration, so tracing and storage enumeration can work with the light client (not implemented in this commit).
* core, consensus: pluggable consensus engines (#3817)Péter Szilágyi2017-04-051-2/+2
| | | | | This commit adds pluggable consensus engines to go-ethereum. In short, it introduces a generic consensus interface, and refactors the entire codebase to use this interface.
* all: swap out the C++ ethash to the pure Go one (mining todo)Péter Szilágyi2017-03-091-2/+2
|
* all: blidly swap out glog to our log15, logs need reworkPéter Szilágyi2017-02-231-3/+3
|
* core, core/state, core/vm: remove exported account getters (#3618)Jeffrey Wilcke2017-02-231-5/+6
| | | | Removed exported statedb object accessors, reducing the chance for nasty bugs to creep in. It's also ugly and unnecessary to have these methods.
* tests: cleanup tester blockchain after test run (#3692)Péter Szilágyi2017-02-201-0/+1
|
* params: core, core/vm, miner: 64bit gas instructionsJeffrey Wilcke2017-02-141-1/+1
| | | | | | | | | | | | | | | | | Reworked the EVM gas instructions to use 64bit integers rather than arbitrary size big ints. All gas operations, be it additions, multiplications or divisions, are checked and guarded against 64 bit integer overflows. In additon, most of the protocol paramaters in the params package have been converted to uint64 and are now constants rather than variables. * common/math: added overflow check ops * core: vmenv, env renamed to evm * eth, internal/ethapi, les: unmetered eth_call and cancel methods * core/vm: implemented big.Int pool for evm instructions * core/vm: unexported intPool methods & verification methods * core/vm: added memoryGasCost overflow check and test
* Revert "params: core, core/vm, miner: 64bit gas instructions (#3514)"Jeffrey Wilcke2017-02-131-1/+1
| | | | This reverts commit 8b57c494908637a5c0e74f8f7a13b3218e026757.
* params: core, core/vm, miner: 64bit gas instructions (#3514)Jeffrey Wilcke2017-02-021-1/+1
| | | | | | | | | | | | | | | | Reworked the EVM gas instructions to use 64bit integers rather than arbitrary size big ints. All gas operations, be it additions, multiplications or divisions, are checked and guarded against 64 bit integer overflows. In additon, most of the protocol paramaters in the params package have been converted to uint64 and are now constants rather than variables. * common/math: added overflow check ops * core: vmenv, env renamed to evm * eth, internal/ethapi, les: unmetered eth_call and cancel methods * core/vm: implemented big.Int pool for evm instructions * core/vm: unexported intPool methods & verification methods * core/vm: added memoryGasCost overflow check and test
* cmd/geth, core: add support for recording SHA3 preimages (#3543)Nick Johnson2017-01-171-1/+2
|
* all: fix issues reported by honnef.co/go/simple/cmd/gosimpleFelix Lange2017-01-071-3/+1
|
* core, core/state, trie: EIP158, reprice & skip empty account writeJeffrey Wilcke2016-11-131-2/+3
| | | | | | | | | | | | | | | This commit implements EIP158 part 1, 2, 3 & 4 1. If an account is empty it's no longer written to the trie. An empty account is defined as (balance=0, nonce=0, storage=0, code=0). 2. Delete an empty account if it's touched 3. An empty account is redefined as either non-existent or empty. 4. Zero value calls and zero value suicides no longer consume the 25k reation costs. params: moved core/config to params Signed-off-by: Jeffrey Wilcke <jeffrey@ethereum.org>
* core, core/vm: added gas price variance tableJeffrey Wilcke2016-10-151-8/+8
| | | | | | | | | | | | | This implements 1b & 1c of EIP150 by adding a new GasTable which must be returned from the RuleSet config method. This table is used to determine the gas prices for the current epoch. Please note that when the CreateBySuicide gas price is set it is assumed that we're in the new epoch phase. In addition this PR will serve as temporary basis while refactorisation in being done in the EVM64 PR, which will substentially overhaul the gas price code.
* cmd, core, internal, light, tests: avoid hashing the code in the VMPéter Szilágyi2016-10-011-1/+2
|
* core, params, tests: add DAO hard-fork balance movesPéter Szilágyi2016-07-151-8/+8
|
* core: improved chainDb using sequential keyszsfelfoldi2016-06-071-2/+2
|
* all: fix go vet warningsFelix Lange2016-04-151-1/+1
|
* tests: remove eth, node, accounts dependenciesFelix Lange2016-04-121-42/+17
| | | | Unlocking the accounts in the test doesn't help with anything.
* core: added basic chain configurationJeffrey Wilcke2016-04-011-7/+8
| | | | | | | | | Added chain configuration options and write out during genesis database insertion. If no "config" was found, nothing is written to the database. Configurations are written on a per genesis base. This means that any chain (which is identified by it's genesis hash) can have their own chain settings.
* Godeps, eth, tests: update ethash, used shared for testingPéter Szilágyi2016-02-241-0/+1
|
* tests: updated homestead testsJeffrey Wilcke2016-02-181-4/+4
|
* parmas, crypto, core, core/vm: homestead consensus protocol changesGustav Simonsson2016-02-181-2/+3
| | | | | | | | * change gas cost for contract creating txs * invalidate signature with s value greater than secp256k1 N / 2 * OOG contract creation if not enough gas to store code * new difficulty adjustment algorithm * new DELEGATECALL op code
* cmd, common, core, eth, node, rpc, tests, whisper, xeth: use protocol stacksPéter Szilágyi2015-11-271-15/+8
|
* cmd/utils, crypto: add --lightkdf flag for lighter KDFDrake Burroughs2015-10-291-1/+1
|
* core/state, core, miner: handle missing root error from state.NewGustav Simonsson2015-10-161-24/+27
|
* cmd/geth, cmd/utils, core, rpc: renamed to blockchainJeffrey Wilcke2015-10-041-4/+4
| | | | | | * Renamed ChainManager to BlockChain * Checkpointing is no longer required and never really properly worked when the state was corrupted.
* core, core/state: batch-based state syncFelix Lange2015-09-231-6/+6
|
* tests: use lastblockhash field to validate reorgs and block headersGustav Simonsson2015-09-181-41/+49
|
* tests: update common test wrappers and test filesGustav Simonsson2015-09-181-28/+57
|
* all: move common.Database to package ethdbFelix Lange2015-09-151-1/+1
|
* core: split out TD from database and all internalsPéter Szilágyi2015-09-111-3/+2
|
* Add tests for uncle timestamps and refactor timestamp typeGustav Simonsson2015-08-251-3/+3
|
* core, tests: Double SUICIDE fixJeffrey Wilcke2015-08-211-1/+1
|
* core, eth, trie, xeth: merged state, chain, extra databases in oneJeffrey Wilcke2015-08-081-1/+1
|
* all: fix license headers one more timeFelix Lange2015-07-241-1/+1
| | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
* all: update license headers to distiguish GPL/LGPLFelix Lange2015-07-231-4/+4
| | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library".
* cmd, core, eth, common: genesis preparationJeffrey Wilcke2015-07-101-3/+2
| | | | | Implemented the --genesis flag thru which we can set a custom genesis block, including the official Ethereum genesis block.
* Unskip SimpleTx3, check err in pre/post state validationsGustav Simonsson2015-07-081-8/+32
|
* all: update license informationFelix Lange2015-07-071-0/+16
|
* cmd,eth,rpc,tests: default coinbaseJeffrey Wilcke2015-07-071-1/+1
|
* core, miner, tests: renamed state methodsJeffrey Wilcke2015-07-041-1/+1
| | | | | | | | | | | | * 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.
* Update Ethereum JSON tests, skip failingGustav Simonsson2015-07-031-1/+1
|
* core/types: make blocks immutableFelix Lange2015-06-301-6/+5
|
* Add --skip option to CLITaylor Gerring2015-06-191-7/+7
| | | | | Disassociates hardcoded tests to skip when running via CLI. Tests still skipped when running `go test`
* Add stdin optionTaylor Gerring2015-06-191-23/+57
|
* Cleanup loggingTaylor Gerring2015-06-191-3/+3
|
* Fix geth blocktest commandTaylor Gerring2015-06-191-2/+2
|
* DRY file loadingTaylor Gerring2015-06-191-44/+12
|
* More consistent test interfaces + test skippingTaylor Gerring2015-06-191-11/+16
|
* Return error up stack instead of passing testing var downTaylor Gerring2015-06-191-10/+13
|
* Separate and identify tests runnersTaylor Gerring2015-06-191-1/+2
|
* Split tests from helper codeTaylor Gerring2015-06-191-0/+66
|
* xeth, tests: fixed apiobscuren2015-06-171-1/+1
|
* Update key store to new spec but keep address field for nowGustav Simonsson2015-05-121-1/+1
| | | | * Also fix address types post-rebase
* core: return the index of the block that failed when inserting a chainobscuren2015-04-291-1/+1
|
* Add loading of block test privkey if presentGustav Simonsson2015-04-281-7/+20
|
* Add block header validations for block testsGustav Simonsson2015-04-231-0/+82
|
* Finally, glorious HEXGustav Simonsson2015-04-231-4/+4
|
* Further fixes to block test wrapperGustav Simonsson2015-04-211-47/+56
| | | | | | | | | | | | * 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
* Add block tests wrapper and fixes for tx testsGustav Simonsson2015-04-201-0/+345
* 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