aboutsummaryrefslogtreecommitdiff
path: root/qa/pull-tester
AgeCommit message (Collapse)Author
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.
2015-04-23Add merkle blocks testMatt Corallo
2015-04-20rpc-tests: Add proxy testWladimir J. van der Laan
Add test for -proxy, -onion and -proxyrandomize.
2015-01-08Merge pull request #5612Wladimir J. van der Laan
84d9199 [QA] fix zapwallettxes test (Jonas Schnelli)
2015-01-07[QA] fix zapwallettxes testJonas Schnelli
- remove shell test script and add a python equivalent
2014-12-30Require sufficent priority for relay of free transactionsPieter Wuille
2014-12-16[RPC-TESTS] ability to run single test manuallyJonas Schnelli
adds possibility to run ./qa/pull-tester/rpc-tests.sh <TESTNAME>
2014-12-08RPC-test based on invalidateblock for mempool coinbase spendsGavin Andresen
2014-12-06[RPC] add rpc-test for http keep-alive (persistent connections)Jonas Schnelli
2014-12-03Merge pull request #5407Wladimir J. van der Laan
9e56532 Coinbases-in-mempool regression test (Gavin Andresen)
2014-12-02Coinbases-in-mempool regression testGavin Andresen
Immature coinbase spends are allowed in the memory pool if they can be mined in the next block. They are not allowed in the memory pool if they cannot be mined in the next block. This regression test tests those edge cases.
2014-12-02Merge pull request #5369Gavin Andresen
b2d0162 Test resurrecting memory pool transactions during chain re-org (Gavin Andresen) 3dd8ed7 Delay writing block indexes in invalidate/reconsider (Pieter Wuille) 798faec Add 'invalidateblock' and 'reconsiderblock' RPC commands. (Pieter Wuille)
2014-12-02Test resurrecting memory pool transactions during chain re-orgGavin Andresen
Builds on #5316.
2014-12-01[REST] add REST interface tests in rpc-test sectionJonas Schnelli
2014-11-27Report status of chain tipsPieter Wuille
2014-11-21Merge pull request #5333Wladimir J. van der Laan
e4ef724 Edited rpc-tests to run python script not shell script. (mrbandrews) 189fb52 Port of wallet.sh to python (wallet.py). (mrbandrews)
2014-11-20Edited rpc-tests to run python script not shell script.mrbandrews
2014-11-19Port/fix txnmall.sh regression testGavin Andresen
Ported txnmall.sh to Python, and updated to match recent transaction malleability changes. I also modified it so it tests both double-spending confirmed and unconfirmed (only-in-mempool) transactions. Renamed to txn_doublespend, since that is really what is being tested. And told the pull-tester to run both variations on this test.
2014-11-17travis: disable rpc tests for windows until they're not so flakyCory Fields
2014-11-13travis: temporarily disable the forknotify testCory Fields
It appears to be breaking randomly on Windows
2014-10-31tests: replace the old (unused since Travis) tests with new rpc test scriptsCory Fields
2014-10-31tests: remove old pull-tester scriptsCory Fields
They're unused since the switch to Travis
2014-10-23Update license in pull-tester and rpc-testsMichael Ford
Add missing copyright/license header where necessary
2014-10-14Fix large reorgsPieter Wuille
2014-10-09Trigger -alertnotify if network is upgrading without youGavin Andresen
This adds a -regetest-only undocumented (for regression testing only) command-line option -blockversion=N to set block.nVersion. Adds to the "has the rest of the network upgraded to a block.nVersion we don't understand" code so it calls -alertnotify when 51 of the last 100 blocks are up-version. But it only alerts once, not with every subsequent new, upversion block. And adds a forknotify.py regression test to make sure it works. Tested using forknotify.py: Before adding CAlert::Notify, get: Assertion failed: -alertnotify did not warn of up-version blocks Before adding code to only alert once: Assertion failed: -alertnotify excessive warning of up-version blocks After final code in this pull: Tests successful
2014-10-01travis: If the comparison-tool fails, dump the tail of the debug logCory Fields
The entire debug log would be huge, and could cause issues for automated tools like travis. Printing 200 lines is an initial guess at a reasonable number, more may be required.
2014-08-15tests: fix test-runner for osx. Closes ##4708Cory Fields
Use the more portable $$ rather than $BASHPID
2014-07-31test: don't let the port number exceed the legal rangeCory Fields
2014-07-09Introduce whitelisted peers.Pieter Wuille
This adds a -whitelist option to specify subnet ranges from which peers that connect are whitelisted. In addition, there is a -whitebind option which works like -bind, except peers connecting to it are also whitelisted (allowing a separate listen port for trusted connections). Being whitelisted has two effects (for now): * They are immune to DoS disconnection/banning. * Transactions they broadcast (which are valid) are always relayed, even if they were already in the mempool. This means that a node can function as a gateway for a local network, and that rebroadcasts from the local network will work as expected. Whitelisting replaces the magic exemption localhost had for DoS disconnection (local addresses are still never banned, though), which implied hidden service connects (from a localhost Tor node) were incorrectly immune to DoS disconnection as well. This old behaviour is removed for that reason, but can be restored using -whitelist=127.0.0.1 or -whitelist=::1 can be specified. -whitebind is safer to use in case non-trusted localhost connections are expected (like hidden services).
2014-05-02stop bitcoind/bitcoin-cli processes that might have been left runningGavin Andresen
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-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
2013-11-27Integration tests via RPC callsGavin Andresen
qa/rpc-tests/wallet.sh runs a three-node -regtest network, generates a fresh blockchain, and then exercises basic wallet sending/receiving functionality using command-line RPC.
2013-11-10Update build docs that refer to old makefile.* files.Brandon Dahler
Also update pull-tester's error message.
2013-11-04Skip comparison tool on win32 since Wine breaks itMatt Corallo
2013-10-28Missed an RPC portMatt Corallo
2013-10-28Fix port binding by listening on port $BASHPIDMatt Corallo
2013-10-28Run block tester and test suite on Windows too (only on Jenkins)Matt Corallo