aboutsummaryrefslogtreecommitdiff
path: root/qa/pull-tester
AgeCommit message (Collapse)Author
2015-11-29Allow block announcements with headersSuhas Daftuar
This replaces using inv messages to announce new blocks, when a peer requests (via the new "sendheaders" message) that blocks be announced with headers instead of inv's. Since headers-first was introduced, peers send getheaders messages in response to an inv, which requires generating a block locator that is large compared to the size of the header being requested, and requires an extra round-trip before a reorg can be relayed. Save time by tracking headers that a peer is likely to know about, and send a headers chain that would connect to a peer's known headers, unless the chain would be too big, in which case we revert to sending an inv instead. Based off of @sipa's commit to announce all blocks in a reorg via inv, which has been squashed into this commit. Rebased-by: Pieter Wuille
2015-11-27Merge pull request #6871Wladimir J. van der Laan
63b5840 Fix usage of local python-bitcoinlib (Peter Todd) 16a2f93 Fix incorrect locking of mempool during RBF replacement (Peter Todd) 97203f5 Port test to rpc-test framework (Suhas Daftuar) 20367d8 Add test for max replacement limit (Suhas Daftuar) 73d9040 Improve RBF replacement criteria (Suhas Daftuar) b272ecf Reject replacements that add new unconfirmed inputs (Peter Todd) fc8c19a Prevent low feerate txs from (directly) replacing high feerate txs (Peter Todd) 0137e6f Add tests for transaction replacement (Peter Todd) 5891f87 Add opt-in full-RBF to mempool (Peter Todd)
2015-11-22Merge pull request #7029Gregory Maxwell
c800c95 Remove unmaintained example test script_test.py (Suhas Daftuar)
2015-11-16Remove unmaintained example test script_test.pySuhas Daftuar
2015-11-14[qa] travis: cover *receivedby* rpcsMarcoFalke
2015-11-12Merge pull request #6804Wladimir J. van der Laan
b5cbd39 Add basic coverage reporting for RPC tests (James O'Beirne)
2015-11-11Add basic coverage reporting for RPC testsJames O'Beirne
Thanks to @MarcoFalke @dexX7 @laanwj for review.
2015-11-10Port test to rpc-test frameworkSuhas Daftuar
2015-11-09Fix crash in validateaddress with -disablewalletWladimir J. van der Laan
Fix a null pointer dereference in validateaddress with -disablewallet. Also add a regression testcase.
2015-10-26Add RPC test for -maxuploadtargetSuhas Daftuar
2015-10-23Merge pull request #6351Wladimir J. van der Laan
65ef372 Add BIP65 to getblockchaininfo softforks list (Peter Todd) cde7ab2 Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork (Peter Todd) 287f54f Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic (Peter Todd)
2015-10-20Merge pull request #6827Wladimir J. van der Laan
bd4c22e [rpc-tests] Check return code (MarcoFalke) 0d8b175 [rpc-tests] fundrawtransaction: Update fee after minRelayTxFee increase (MarcoFalke)
2015-10-20[rpc-tests] Check return codeMarcoFalke
2015-10-16temporarily comment out rpcbind.pyAlex Morcos
until libevent is fixed. also remove duplicate commented-out forknotify.py.
2015-10-09Add tests for gettxoutsetinfo, CLevelDBBatch, CLevelDBIteratorJames O'Beirne
Thanks @dexX7.
2015-10-08Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-forkPeter Todd
bip65-cltv.py is based on the earlier BIP66 soft-fork RPC test implemented by Pieter Wuille's 819bcf9b9902319176cdb1d476cacfee9b3727ec bip65-cltv-p2p.py is based on the earlier BIP66 P2P test by Suhas Daftuar's d76412b068d95454732aa3def95decf35251759a
2015-10-05Changed run-bitcoind-for-test.sh.in to non-executable mode.randy-waterhouse
Consistency with other *.in input files.
2015-10-04qa/pull-tester/rpc-tests.py: chmod 0755Jeff Garzik
Fix file mode to be executable. Include dummy whitespace change to force git to change mode.
2015-10-01Migrated rpc-tests.sh to all python rpc-tests.pyptschip
1) created rpc-tests.py 2) deleted rpc-tests.sh 3) travis.yml points to rpc-tests.py 4) Modified Makefile.am 5) Updated README.md 6) Added tests_config.py and deleted tests-config.sh 7) Modified configure.ac with script to set correct path in tests_config.py
2015-10-01Merge pull request #6686Wladimir J. van der Laan
745f909 travis: install a recent libzmq and pyzmq for tests (Cory Fields) a9c27cd [travis] add zmq python module (Jonas Schnelli) 110a1fd enable zmq-test in rpc-tests.sh (Jonas Schnelli)
2015-09-19Track transaction packages in CTxMemPoolEntrySuhas Daftuar
Associate with each CTxMemPoolEntry all the size/fees of descendant mempool transactions. Sort mempool by max(feerate of entry, feerate of descendants). Update statistics on-the-fly as transactions enter or leave the mempool. Also add ancestor and descendant limiting, so that transactions can be rejected if the number or size of unconfirmed ancestors exceeds a target, or if adding a transaction would cause some other mempool entry to have too many (or too large) a set of unconfirmed in- mempool descendants.
2015-09-17enable zmq-test in rpc-tests.shJonas Schnelli
2015-09-17Temporarily disable ZMQ tests in bitcoin test suiteJeff Garzik
2015-09-17fix rpc-tests.shJonas Schnelli
`${testScripts[@]}` now does split up `testscript --agument` in two elements pushed to the array (`testscript` and `--agument`).
2015-09-16Depends: Add ZeroMQ packageCory Fields
2015-09-04Revert "rpc-tests: re-enable rpc-tests for Windows"Wladimir J. van der Laan
This reverts commit bd30c3dced21fca869a14c75081f15195762afe1. Disable windows RPC tests for now. These should be re-enabled once a suitable Wine version is used on Travis.
2015-08-26Enable python tests for Native Windowsptschip
1) Multiplatorm support for devnull 2) Fixed a bug in the handling of cache files 3) Deleted run-bitcoin-cli as no longer needed
2015-08-25rpc-tests: re-enable rpc-tests for WindowsCory Fields
2015-08-21Add p2p-fullblocktest.pyCasey Rodarmor
2015-07-10[QA] remove rawtransactions.py from the extended test listJonas Schnelli
rawtransactions.py is already in the standard test list
2015-07-09Fix intermittent test failure, reduce test timeTom Harding
In txn_clone.py, non-essential test transaction tx2 was asserted to be unconfirmed, but would occasionally confirm depending on network behavior. Fix by explicitly sharing with miner and checking for 1 confirmation. Reduce required conflict tests from 4 to 2, by moving one invocation each of txn_clone.py and txn_doublespend.py to the extented test section. This saves about 15 seconds per test run for me.
2015-07-02Merge pull request #5881Wladimir J. van der Laan
5d34e16 Add txn_clone.py test (Tom Harding) defd2d5 Better txn_doublespend.py test (Tom Harding) b2b3619 Implement CTransaction::IsEquivalentTo(...) (Tom Harding)
2015-06-30add tests for the decodescript rpc. add mention of the rpc regression tests ↵mruddy
to the testing seciton of the main readme.
2015-06-26Merge pull request #6299Wladimir J. van der Laan
4f40716 test: Move reindex test to standard tests (Wladimir J. van der Laan) 36c97b4 Bugfix: Don't check the genesis block header before accepting it (Jorge Timón)
2015-06-23Merge pull request #6088Wladimir J. van der Laan
2085895 fundrawtransaction tests (Jonas Schnelli) 21bbd92 Add fundrawtransaction RPC method (Matt Corallo) 1e0d1a2 Add FundTransaction method to wallet (Matt Corallo) 2d84e22 Small tweaks to CCoinControl for fundrawtransaction (Matt Corallo) 9b4e7d9 Add DummySignatureCreator which just creates zeroed sigs (Pieter Wuille)
2015-06-21test: Move reindex test to standard testsWladimir J. van der Laan
This test finishes very quickly, so it should be part of the default set of tests in rpc-tests.
2015-06-17add RPC tests for setban & disconnectnodeJonas Schnelli
2015-06-11fundrawtransaction testsJonas Schnelli
2015-06-02P2P regression test for new AcceptBlock behaviorSuhas Daftuar
2015-05-27Fix walletbackup.py after directory restructuringSuhas Daftuar
Also add walletbackup.py to rpc-tests.sh
2015-05-19pull-tester/rpc-tests.sh: disable script_test.py testJonas Schnelli
2015-05-18pull-tester/rpc-tests.sh: allow passing throug of argumentsJonas Schnelli
2015-05-18extend rpc-tests.sh control script with non-travis testsJonas Schnelli
2015-05-11Add txn_clone.py testTom Harding
Does what the old txnmall.sh test did. Creates an equivalent malleated clone and tests that SyncMetaData syncs the accounting effects from the original transaction to the confirmed clone.
2015-05-07[QA] add multisig rpc testsJonas 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-01RPC test for "#5418 Report missing inputs in sendrawtransaction"Jonas Schnelli
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.