aboutsummaryrefslogtreecommitdiff
path: root/qa/rpc-tests/util.py
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #4522 from dgenr8/set_discover_0Gavin Andresen2014-07-151-2/+2
|\ | | | | Set -discover=0 in regtest framework
| * Set -discover=0 in regtest frameworkTom Harding2014-07-131-2/+2
| | | | | | | | | | | | The regtest framework is local, so often there is no need to discover our external IP. Setting -discover=0 in util.py works around shutdown hang caused by GetExternalIP waiting in recv().
* | Add test for getblocktemplate longpollingWladimir J. van der Laan2014-07-111-1/+3
|/
* Print better errors, and add util stop_node() function.Gavin Andresen2014-07-091-5/+10
|
* qa/rpc_tests: Wait for handshake to complete in connect_nodesWladimir J. van der Laan2014-06-231-0/+4
| | | | | | | This avoids a race condition in which the connection was made but the version handshake is not completed yet. In that case transactions won't be broadcasted to a peer yet, and the nodes will wait forever for their mempools to sync.
* estimatefee / estimatepriority RPC methodsGavin Andresen2014-06-061-18/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New RPC methods: return an estimate of the fee (or priority) a transaction needs to be likely to confirm in a given number of blocks. Mike Hearn created the first version of this method for estimating fees. It works as follows: For transactions that took 1 to N (I picked N=25) blocks to confirm, keep N buckets with at most 100 entries in each recording the fees-per-kilobyte paid by those transactions. (separate buckets are kept for transactions that confirmed because they are high-priority) The buckets are filled as blocks are found, and are saved/restored in a new fee_estiamtes.dat file in the data directory. A few variations on Mike's initial scheme: To estimate the fee needed for a transaction to confirm in X buckets, all of the samples in all of the buckets are used and a median of all of the data is used to make the estimate. For example, imagine 25 buckets each containing the full 100 entries. Those 2,500 samples are sorted, and the estimate of the fee needed to confirm in the very next block is the 50'th-highest-fee-entry in that sorted list; the estimate of the fee needed to confirm in the next two blocks is the 150'th-highest-fee-entry, etc. That algorithm has the nice property that estimates of how much fee you need to pay to get confirmed in block N will always be greater than or equal to the estimate for block N+1. It would clearly be wrong to say "pay 11 uBTC and you'll get confirmed in 3 blocks, but pay 12 uBTC and it will take LONGER". A single block will not contribute more than 10 entries to any one bucket, so a single miner and a large block cannot overwhelm the estimates.
* Allow multiple regression tests to run at onceGavin Andresen2014-06-061-15/+22
| | | | | Choose ports at startup based on PID, so multiple regression tests can run on the same system at the same time.
* Add Python test for -rpcbind and -rpcallowipWladimir J. van der Laan2014-05-131-4/+28
| | | | | Add a new test, `rpcbind_test.py`, that extensively tests the new `-rpcbind` functionality.
* Have pull-tester run the listtransactions.py regression testGavin Andresen2014-04-021-5/+8
| | | | | This should show how to run a python-based regression test successfully in the pull-tester environment.
* Fix regression testsGavin Andresen2014-03-241-11/+21
| | | | | | | Taught bitcoind to close the HTTP connection after it gets a 'stop' command, to make it easier for the regression tests to cleanly stop. Move bitcoinrpc files to correct location. Tidied up the python-based regression tests.
* Add licenses for tests and test dataWladimir J. van der Laan2014-03-181-0/+3
| | | | | | | | - Add license headers to source files (years based on commit dates) in `src/test` as well as `qa` - Add `README.md` to `src/test/data` specifying MIT license Fixes #3848
* Python-based regression testsGavin Andresen2014-02-281-0/+136
skeleton.py : a do-nothing test skeleton listtransactions.py : start of regression test for listtransactions call