aboutsummaryrefslogtreecommitdiff
path: root/qa
AgeCommit message (Collapse)Author
2015-05-13Merge pull request #5159Wladimir J. van der Laan
b649e03 Create new BlockPolicyEstimator for fee estimates (Alex Morcos)
2015-05-13Create new BlockPolicyEstimator for fee estimatesAlex Morcos
This class groups transactions that have been confirmed in blocks into buckets, based on either their fee or their priority. Then for each bucket, the class calculates what percentage of the transactions were confirmed within various numbers of blocks. It does this by keeping an exponentially decaying moving history for each bucket and confirm block count of the percentage of transactions in that bucket that were confirmed within that number of blocks. -Eliminate txs which didn't have all inputs available at entry from fee/pri calcs -Add dynamic breakpoints and tracking of confirmation delays in mempool transactions -Remove old CMinerPolicyEstimator and CBlockAverage code -New smartfees.py -Pass a flag to the estimation code, using IsInitialBlockDownload as a proxy for when we are still catching up and we shouldn't be counting how many blocks it takes for transactions to be included. -Add a policyestimator unit test
2015-05-11Merge pull request #6073Wladimir J. van der Laan
a681663 clarify that there are only two nodes (Jameson Lopp)
2015-05-07Merge pull request #5958Wladimir J. van der Laan
231072f [QA] add multisig rpc tests (Jonas Schnelli)
2015-05-07[QA] add multisig rpc testsJonas Schnelli
2015-05-06Merge pull request #5420Wladimir J. van der Laan
6b4feb8 [QA] rest.py RPC test: change setgenerate() to generate() (Jonas Schnelli) 97ee866 [REST] getutxos REST command (based on Bip64) (Jonas Schnelli)
2015-05-05QA: add RPC tests for error reporting of "signrawtransaction"dexX7
Tests error reporting of transaction signing via RPC call "signrawtransaction". Expected results: Test 1: create and sign a valid raw transaction with one input: - 1) The transaction has a complete set of signatures - 2) No script verification error occurred Test 2: create and sign a raw transaction with one valid, one invalid and one missing input script: - 3) The transaction has no complete set of signatures - 4) Two script verification errors occurred - 5) Script verification errors have certain properties ("txid", "vout", "scriptSig", "sequence", "error") - 6) The verification errors refer to the invalid (vin 1) and missing input (vin 2)
2015-05-04Merge pull request #5418Wladimir J. van der Laan
bba2216 RPC test for "#5418 Report missing inputs in sendrawtransaction" (Jonas Schnelli) de8e801 Report missing inputs in sendrawtransaction (Pieter Wuille)
2015-05-04Merge pull request #6085Wladimir J. van der Laan
b05a89b Non-grammatical language improvements (Luke Dashjr) 7e6d23b Bugfix: Grammar fixes (Corinne Dashjr)
2015-05-01Fix comptool send_message call when MAX_INV_SZ reachedSuhas Daftuar
2015-05-01Fix potential race conditions in p2p testing frameworkSuhas Daftuar
Previously, each NodeConnCB had its own lock to synchronize data structures used by the testing thread and the networking thread, and NodeConn provided a separate additional lock for synchronizing access to each send buffer. This commit replaces those locks with a single global lock (mininode_lock) that we use to synchronize access to all data structures shared by the two threads. Updates comptool and maxblocksinflight to use the new synchronization semantics, eliminating previous race conditions within comptool, and re-enables invalidblockrequest.py in travis.
2015-05-01RPC test for "#5418 Report missing inputs in sendrawtransaction"Jonas Schnelli
2015-05-01Bugfix: Grammar fixesCorinne Dashjr
2015-04-30Don't run invalidblockrequest.py in travis until race condition is fixedSuhas Daftuar
2015-04-30Fix mininode disconnections to work with selectSuhas Daftuar
2015-04-30Merge pull request #5981Wladimir J. van der Laan
2703412 Fix default binary in p2p tests to use environment variable (Suhas Daftuar) 29bff0e Add some travis debugging for python scripts (Suhas Daftuar) d76412b Add script manipulation tools for use in mininode testing framework (Suhas Daftuar) b93974c Add comparison tool test runner, built on mininode (Suhas Daftuar) 6c1d1ba Python p2p testing framework (Suhas Daftuar)
2015-04-29Fix default binary in p2p tests to use environment variableSuhas Daftuar
2015-04-29Merge pull request #6032Wladimir J. van der Laan
688da79 QA: add --noshutdown option to prevent stopping nodes (dexX7) 2eadeb2 QA: stop nodes after RPC tests, even with --nocleanup (dexX7)
2015-04-28Add some travis debugging for python scriptsSuhas Daftuar
Adds printing to the console before/after calls to bitcoin-cli -rpcwait, if the PYTHON_DEBUG environment variable is initialized.
2015-04-28Add script manipulation tools for use in mininode testing frameworkSuhas Daftuar
script.py is modified from the code in python-bitcoinlib, and provides tools for manipulating and creating CScript objects. bignum.py is a dependency for script.py script_test.py is an example test that uses the script tools for running a test that compares the behavior of two nodes, in a comptool- style test, for each of the test cases in the bitcoin unit test script files, script_valid.json and script_invalid.json. (This test is very slow to run, but is a proof of concept for how we can write tests to compare consensus-critical behavior between different versions of bitcoind.) bipdersig-p2p.py is another example test in the comptool framework, which tests deployment of BIP DERSIG for a single node. It uses the script.py tools for manipulating signatures to be non-DER compliant.
2015-04-28Add comparison tool test runner, built on mininodeSuhas Daftuar
comptool.py creates a tool for running a test suite on top of the mininode p2p framework. It supports two types of tests: those for which we expect certain behavior (acceptance or rejection of a block or transaction) and those for which we are just comparing that the behavior of 2 or more nodes is the same. blockstore.py defines BlockStore and TxStore, which provide db-backed maps between block/tx hashes and the corresponding block or tx. blocktools.py defines utility functions for creating and manipulating blocks and transactions. invalidblockrequest.py is an example test in the comptool framework, which tests the behavior of a single node when sent two different types of invalid blocks (a block with a duplicated transaction and a block with a bad coinbase value).
2015-04-28Python p2p testing frameworkSuhas Daftuar
mininode.py provides a framework for connecting to a bitcoin node over the p2p network. NodeConn is the main object that manages connectivity to a node and provides callbacks; the interface for those callbacks is defined by NodeConnCB. Defined also are all data structures from bitcoin core that pass on the network (CBlock, CTransaction, etc), along with de-/serialization functions. maxblocksinflight.py is an example test using this framework that tests whether a node is limiting the maximum number of in-flight block requests. This also adds support to util.py for specifying the binary to use when starting nodes (for tests that compare the behavior of different bitcoind versions), and adds maxblocksinflight.py to the pull tester.
2015-04-28Merge pull request #5199Wladimir J. van der Laan
1ec900a Remove broken+useless lock/unlock log prints (Matt Corallo) 352ed22 Add merkle blocks test (Matt Corallo) 59ed61b Add RPC call to generate and verify merkle blocks (Matt Corallo) 30da90d Add CMerkleBlock constructor for tx set + block and an empty one (Matt Corallo)
2015-04-27clarify that there are only two nodesJameson Lopp
2015-04-24Merge pull request #6036Wladimir J. van der Laan
f89b092 add rpc test for listunspents support for zero value txouts (Jonas Schnelli) 219953c Show zero value txouts in listunspent. (Gregory Maxwell)
2015-04-23Add merkle blocks testMatt Corallo
2015-04-23QA: add --noshutdown option to prevent stopping nodesdexX7
With `--noshutdown`, the nodes are not stopped explicitly. `--noshutdown` implies `--nocleanup`, to prevent removing datadirs, which are still in use.
2015-04-22Add block pruning functionalitymrbandrews
This adds a -prune=N option to bitcoind, which if set to N>0 will enable block file pruning. When pruning is enabled, block and undo files will be deleted to try to keep total space used by those files to below the prune target (N, in MB) specified by the user, subject to some constraints: - The last 288 blocks on the main chain are always kept (MIN_BLOCKS_TO_KEEP), - N must be at least 550MB (chosen as a value for the target that could reasonably be met, with some assumptions about block sizes, orphan rates, etc; see comment in main.h), - No blocks are pruned until chainActive is at least 100,000 blocks long (on mainnet; defined separately for mainnet, testnet, and regtest in chainparams as nPruneAfterHeight). This unsets NODE_NETWORK if pruning is enabled. Also included is an RPC test for pruning (pruning.py). Thanks to @rdponticelli for earlier work on this feature; this is based in part off that work.
2015-04-21[QA] rest.py RPC test: change setgenerate() to generate()Jonas Schnelli
2015-04-21[REST] getutxos REST command (based on Bip64)Jonas Schnelli
has parts of @mhearn #4351 * allows querying the utxos over REST * same binary input and outputs as mentioned in Bip64 * input format = output format * various rpc/rest regtests
2015-04-21add rpc test for listunspents support for zero value txoutsJonas Schnelli
2015-04-20rpc-tests: Add proxy testWladimir J. van der Laan
Add test for -proxy, -onion and -proxyrandomize.
2015-04-20QA: stop nodes after RPC tests, even with --nocleanupdexX7
`--nocleanup` should provide a way to preserve test data, but should not have an impact on whether nodes are to be stopped after the test execution. In particular, when currently running RPC tests with `--nocleanup`, then it may result in several active `bitcoind` processes, which are not terminated properly.
2015-04-14Fix CheckBlockIndex for reindex.mrbandrews
Some tests in CheckBlockIndex require chainActive.Tip(), but when reindexing, chainActive has not been set on the first call to CheckBlockIndex. reindex.py starts a node, mines 3 blocks, stops, and reindexes with CheckBlockIndex enabled.
2015-04-09Fix travis after merging #5957Wladimir J. van der Laan
New wallet tests have been added in the meantime and need to be updated to use `generate` instead of `setgenerate`.
2015-04-09Merge pull request #5957Wladimir J. van der Laan
e2edf95 Bugfix: make CreateNewBlock return pindexPrev (Pieter Wuille) 6b04508 Introduce separate 'generate' RPC call (Pieter Wuille) 0df67f1 Simplify hash loop code (Pieter Wuille)
2015-04-01Introduce separate 'generate' RPC callPieter Wuille
2015-04-01add -walletbroadcast=0 rpc testJonas Schnelli
2015-03-24Regression test for ResendWalletTransactionsGavin Andresen
Adds a regression test for the wallet's ResendWalletTransactions function, which uses a new, hidden RPC command "resendwallettransactions." I refactored main's Broadcast signal so it is passed the best-block time, which let me remove a global variable shared between main.cpp and the wallet (nTimeBestReceived). I also manually tested the "rebroadcast unconfirmed every half hour or so" functionality by: 1. Running bitcoind -connect=0.0.0.0:8333 2. Creating a couple of send-to-self transactions 3. Connect to a peer using -addnode 4. Waited a while, monitoring debug.log, until I see: ```2015-03-23 18:48:10 ResendWalletTransactions: rebroadcast 2 unconfirmed transactions``` One last change: don't bother putting ResendWalletTransactions messages in debug.log unless unconfirmed transactions were actually rebroadcast.
2015-03-24Merge pull request #5890Wladimir J. van der Laan
cd3d67c Fix InvalidateBlock to add chainActive.Tip to setBlockIndexCandidates (Alex Morcos)
2015-03-16Merge pull request #5831Wladimir J. van der Laan
1d9b378 qa/rpc-tests/wallet: Tests for sendmany (Luke Dashjr) 40a7573 rpcwallet/sendmany: Just take an array of addresses to subtract fees from, rather than an Object with all values being identical (Luke Dashjr) 292623a Subtract fee from amount (Cozz Lovan) 90a43c1 [Qt] Code-movement-only: Format confirmation message in sendcoinsdialog (Cozz Lovan)
2015-03-13Fix InvalidateBlock to add chainActive.Tip to setBlockIndexCandidatesAlex Morcos
2015-03-13qa/rpc-tests/wallet: Tests for sendmanyLuke Dashjr
2015-03-13Subtract fee from amountCozz Lovan
Fixes #2724 and #1570. Adds the automatically-subtract-the-fee-from-the-amount-and-send-whats-left feature to the GUI and RPC (sendtoaddress,sendmany).
2015-03-12add RPC test for InvalidateBlockAlex Morcos
2015-02-10Merge #5548: [REST] add /rest/chaininfosWladimir J. van der Laan
2c0f901 [REST] rest/chaininfos add documentation (Jonas Schnelli) 59582c8 [REST] add /rest/chaininfos (Jonas Schnelli)
2015-02-04Fix getblocktemplate_proposals test by mining one blockSuhas Daftuar
This triggers the tested node to no longer be in initial download, allowing the call to getblocktemplate() to succeed.
2015-02-03Merge pull request #5713Wladimir J. van der Laan
bf6cdeb Increase coverage of DERSIG edge cases (Pieter Wuille) 819bcf9 Add RPC test for DERSIG BIP switchover logic (Pieter Wuille) 5a47811 BIP66 changeover logic (Pieter Wuille) 092e9fe Example unit tests from BIP66 (Pieter Wuille) 80ad135 Change IsDERSignature to BIP66 implementation (Pieter Wuille)
2015-02-01Add RPC test for DERSIG BIP switchover logicPieter Wuille
2015-01-31Changed pronouns for correctness and inclusivitybikinibabe