aboutsummaryrefslogtreecommitdiff
path: root/qa/rpc-tests/util.py
AgeCommit message (Collapse)Author
2014-11-20Port of wallet.sh to python (wallet.py).mrbandrews
Also included are minor edits to util.py to create a clean blockchain and add a parameter to gather_inputs to specify number of confirmations.
2014-11-17RPC tests: create initial chain with specific timestampsGavin Andresen
Use setmocktime to create the initial block chain with 10-minute-apart-blocks starting 1 Jan 2014.
2014-11-14don't override dir() in qa rpc testsBryan Bishop
Replace "dir" with "dirname" in util.py in qa/rpc-tests/ because "dir" is the name of a function in python.
2014-11-07gather_inputs: use correct variable in error messagedexX7
"amount" and "fee" do not exist (anymore?).
2014-10-31tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from ↵Cory Fields
the environment This will allow for windows tests to run with bitcoind.exe and bitcoin-cli.exe
2014-10-27Merge pull request #5139Gavin Andresen
9f87325 Start with tidier cache directories (Gavin Andresen) Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
2014-10-27Merge pull request #5121Wladimir J. van der Laan
214091d Update license in pull-tester and rpc-tests (Michael Ford)
2014-10-24Start with tidier cache directoriesGavin Andresen
Remove more files from the cached, 200-block-chain data directories.
2014-10-24Work around #5113.Daniel Kraft
2014-10-23Update license in pull-tester and rpc-testsMichael Ford
Add missing copyright/license header where necessary
2014-09-05Fix make_change to not create half-satoshisGavin Andresen
2014-07-15Merge pull request #4522 from dgenr8/set_discover_0Gavin Andresen
Set -discover=0 in regtest framework
2014-07-13Set -discover=0 in regtest frameworkTom Harding
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().
2014-07-11Add test for getblocktemplate longpollingWladimir J. van der Laan
2014-07-09Print better errors, and add util stop_node() function.Gavin Andresen
2014-06-23qa/rpc_tests: Wait for handshake to complete in connect_nodesWladimir J. van der Laan
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.
2014-06-06estimatefee / estimatepriority RPC methodsGavin Andresen
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.
2014-06-06Allow multiple regression tests to run at onceGavin Andresen
Choose ports at startup based on PID, so multiple regression tests can run on the same system at the same time.
2014-05-13Add Python test for -rpcbind and -rpcallowipWladimir J. van der Laan
Add a new test, `rpcbind_test.py`, that extensively tests the new `-rpcbind` functionality.
2014-04-02Have pull-tester run the listtransactions.py regression testGavin Andresen
This should show how to run a python-based regression test successfully in the pull-tester environment.
2014-03-24Fix regression testsGavin Andresen
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.
2014-03-18Add licenses for tests and test dataWladimir J. van der Laan
- 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
2014-02-28Python-based regression testsGavin Andresen
skeleton.py : a do-nothing test skeleton listtransactions.py : start of regression test for listtransactions call