Commit graph

664 commits

Author SHA1 Message Date
Suhas Daftuar 330b0f31ee [qa] p2p segwit tests
mininode now supports witness transactions/blocks, blocktools
has a helper for adding witness commitments to blocks, and script
has a function to calculate hashes for signature under sigversion
1, used by segwit.

Py3 conversion by Marco Falke

Test to make sure upgraded nodes don't ask for non-wit blocks by
Gregory Sanders.
2016-06-22 15:43:02 +02:00
Alex Morcos 4f7ff00497 [qa] Add rpc test for segwit
Amended by Pieter Wuille to use multisig 1-of-1 for P2WSH tests, and BIP9
based switchover logic.

Fixes and py3 conversion by Marco Falke.
2016-06-22 15:43:01 +02:00
Pieter Wuille 2b1f6f9ccf BIP141: Other consensus critical limits, and BIP145
Includes changes by Suhas Daftuar, Luke-jr, and mruddy.
2016-06-22 15:43:00 +02:00
Wladimir J. van der Laan 0d41d705c8
Merge #8216: [qa] assert 'changePosition out of bounds'
fa58f94 [qa] pull-tester: Start longest test first (MarcoFalke)
fa3b379 [qa] pull-tester: Fix assertion and check for run_parallel (MarcoFalke)
fa32465 [qa] fundrawtransaction: Create get_unspent() (MarcoFalke)
fa8ce3b [qa] assert 'changePosition out of bounds' (MarcoFalke)
2016-06-21 10:24:19 +02:00
Wladimir J. van der Laan 65c2058cc8
Merge #8066: [qa] test_framework: Use different rpc_auth_pair for each node
fad1845 [qa] test_framework: Use different rpc_auth_pair for each node (MarcoFalke)
2016-06-20 13:41:11 +02:00
MarcoFalke fa58f94ff7 [qa] pull-tester: Start longest test first 2016-06-20 11:19:34 +02:00
MarcoFalke fa3b379252 [qa] pull-tester: Fix assertion and check for run_parallel 2016-06-17 15:20:43 +02:00
MarcoFalke fa324653ab [qa] fundrawtransaction: Create get_unspent() 2016-06-17 15:19:11 +02:00
MarcoFalke fa8ce3b670 [qa] assert 'changePosition out of bounds' 2016-06-17 15:19:02 +02:00
MarcoFalke facb6c0bf8 [qa] mininode: fail on send_message instead of silent return 2016-06-17 13:31:31 +02:00
Wladimir J. van der Laan 9c3d0fab36
Merge #7892: Add full UTF-8 support to RPC
7982fce doc: Mention full UTF-8 support in release notes (Wladimir J. van der Laan)
6bbb4ef test: test utf-8 for labels in wallet (Wladimir J. van der Laan)
a406fcb test: add ensure_ascii setting to AuthServiceProxy (Wladimir J. van der Laan)
60ab9b2 Squashed 'src/univalue/' changes from 2740c4f..f32df99 (Wladimir J. van der Laan)
2016-06-16 12:08:35 +02:00
Wladimir J. van der Laan 62fcf27bd8
Merge #8171: [RPC] Fix createrawtx sequence number unsigned int parsing
6fa950a [RPC] Fix createrawtx sequence number unsigned int parsing (Jonas Schnelli)
2016-06-16 11:06:51 +02:00
MarcoFalke fae1d063fc [qa] fundrawtransaction: Fix race, assert amounts 2016-06-13 21:35:04 +02:00
MarcoFalke fa26c420bf [qa] util: Move check_fee_amount out of wallet.py 2016-06-13 21:34:41 +02:00
Wladimir J. van der Laan 44c1b1c9bb
Merge #8141: Continuing port of java comparison tool
ff2dcf2 Tests: Edit bloated varint test and add option for 'barely expensive' tests (mrbandrews)
12c5a16 Catch exceptions from non-canonical encoding and print only to log (mrbandrews)
291f8aa Continuing port of java comptool (mrbandrews)
8c9e681 Tests: Rework blockstore to avoid re-serialization. (mrbandrews)
2016-06-13 11:37:37 +02:00
Wladimir J. van der Laan 6bbb4ef399 test: test utf-8 for labels in wallet 2016-06-10 15:20:49 +02:00
Wladimir J. van der Laan a406fcb6ca test: add ensure_ascii setting to AuthServiceProxy
Add a setting ensure_ascii to AuthServiceProxy. This setting,
defaulting to True (backwards compatible),
is passed through to json.dumps. If set to False, non-ASCII characters
>0x80 are not escaped. This is useful for testing server
input processing, as well as slightly more bandwidth friendly in case of
heavy unicode usage.
2016-06-10 15:20:49 +02:00
Wladimir J. van der Laan fde0ac403c
Merge #8133: build: Finish up out-of-tree changes
d1a3d57 bulid: fix "make translate" when out-of-tree (Cory Fields)
340012d build: add temporary fix for "bad magic number" error in out-of-tree builds (Cory Fields)
142ffc7 travis: use out-of-tree build (Cory Fields)
92e37a3 build: fix out-of-tree 'make deploy' for osx (Cory Fields)
ab95d5d build: a few ugly hacks to get the rpc tests working out-of-tree (Cory Fields)
fc4ad0c build: more out-of-tree fixups (Cory Fields)
0cb0f26 build: out-of-tree fixups (Cory Fields)
2016-06-10 10:05:57 +02:00
Pieter Wuille 7ce9ac5c83
Merge #7292: [RPC] Expose ancestor/descendant information over RPC
176e19b Mention new RPC's in release notes (Suhas Daftuar)
7f6eda8 Add ancestor statistics to mempool entry RPC output (Suhas Daftuar)
a9b8390 Add test coverage for new RPC calls (Suhas Daftuar)
b09b813 Add getmempoolentry RPC call (Suhas Daftuar)
0dfd869 Add getmempooldescendants RPC call (Suhas Daftuar)
8f7b5dc Add getmempoolancestors RPC call (Suhas Daftuar)
5ec0cde Refactor logic for converting mempool entries to JSON (Suhas Daftuar)
2016-06-09 16:32:37 +02:00
Suhas Daftuar a9b8390222 Add test coverage for new RPC calls 2016-06-09 09:56:27 -04:00
mrbandrews ff2dcf274d Tests: Edit bloated varint test and add option for 'barely expensive' tests 2016-06-08 15:09:01 -04:00
Pieter Wuille 66ed450d77
Merge #7935: Versionbits: GBT support
12c708a getblocktemplate: Use version/force mutation to support pre-BIP9 clients (Luke Dashjr)
9879060 getblocktemplate: Explicitly handle the distinction between GBT-affecting softforks vs not (Luke Dashjr)
72cd6b2 qa/rpc-tests: bip9-softforks: Add tests for getblocktemplate versionbits updates (Luke Dashjr)
d3df40e Implement BIP 9 GBT changes (Luke Dashjr)
2016-06-08 15:44:07 +02:00
Jonas Schnelli 6fa950a573
[RPC] Fix createrawtx sequence number unsigned int parsing 2016-06-08 15:43:28 +02:00
Wladimir J. van der Laan 75ec320a0d
Merge #8153: [rpc] fundrawtransaction feeRate: Use BTC/kB
fa7f4f5 [rpc] fundrawtransaction feeRate: Use BTC/kB (MarcoFalke)
faf82e8 [rpc] fundrawtransaction: Fix help text and interface (MarcoFalke)
2016-06-08 14:14:54 +02:00
Wladimir J. van der Laan 2156fa23b8
Merge #8078: Disable the mempool P2P command when bloom filters disabled
3d3602f Add RPC test for the p2p mempool command in conjunction with disabled bloomfilters (Jonas Schnelli)
beceac9 Disable the mempool P2P command when bloom filters disabled (Peter Todd)
2016-06-08 12:56:48 +02:00
Wladimir J. van der Laan 79004d4ae6
Merge #7957: [RPC][Bitcoin-TX] Add support for sequence number
ae357d5 [Bitcoin-Tx] Add tests for sequence number support (Jonas Schnelli)
e59336f [bitcoin-tx] allow to set nSequence number over the in= command (Jonas Schnelli)
a946bb6 [RPC] createrawtransaction: add option to set the sequence number per input (Jonas Schnelli)
2016-06-07 18:25:13 +02:00
MarcoFalke fa7f4f577c [rpc] fundrawtransaction feeRate: Use BTC/kB
Also introduce UniValueType

UniValueType is a wrapper for UniValue::VType which allows setting
a typeAny flag. This flag indicates the type does not matter.

(Used by RPCTypeCheckObj)
2016-06-07 13:12:57 +02:00
MarcoFalke faf82e8fc8 [rpc] fundrawtransaction: Fix help text and interface 2016-06-06 19:40:35 +02:00
Luke Dashjr 72cd6b20ca qa/rpc-tests: bip9-softforks: Add tests for getblocktemplate versionbits updates 2016-06-06 17:10:22 +00:00
Wladimir J. van der Laan 8c1e49ba13
Merge #7967: [RPC] add feerate option to fundrawtransaction
04eaa90 Add more clear interface for CoinControl.h regarding individual feerate (Jonas Schnelli)
3b35e48 [RPC] add feerate option to fundrawtransaction (Jonas Schnelli)
2016-06-03 15:47:48 +02:00
mrbandrews 291f8aa5da Continuing port of java comptool 2016-06-02 14:42:09 -04:00
Pieter Wuille f45f51e3ae Fix interrupted HTTP RPC connection workaround for Python 3.5+ 2016-06-02 19:17:04 +02:00
Cory Fields ab95d5df3d build: a few ugly hacks to get the rpc tests working out-of-tree
- Link pull-tester/rpc-tests.py to the build dir
- Add the build-dir's config to the python path so that tests can find it
- The tests themselves are in srcdir
- Clean up __pycache__ in 'make clean'
2016-06-01 20:31:55 -04:00
mrbandrews 8c9e681ff8 Tests: Rework blockstore to avoid re-serialization. 2016-05-31 14:21:40 -04:00
MarcoFalke 6ff2c8d29f
Merge #8104: Tests: add timeout to sync_blocks() and sync_mempools()
e871f83 Tests: add timeout to sync_blocks() and sync_mempools() (Suhas Daftuar)
2016-05-29 19:18:55 +02:00
MarcoFalke 06bd4f637f
Merge #8098: [qa] test_framework: Append portseed to tmpdir
fa57b0c [qa] test_framework: Append portseed to tmpdir (MarcoFalke)
2016-05-27 08:22:09 +02:00
Suhas Daftuar e871f8338a Tests: add timeout to sync_blocks() and sync_mempools()
Previously these functions would infinitely loop if sync failed;
now they have a default timeout of 60 seconds, after which an
AssertionError is raised.

sync_blocks() has also been improved and now compares the tip
hash of each node, rather than just using block count.
2016-05-26 14:19:07 -04:00
Suhas Daftuar 1ad9339508 Test framework: only cleanup on successful test runs 2016-05-25 05:43:50 -04:00
MarcoFalke 37f9a1f627
Merge #8047: [qa] test_framework: Set wait-timeout for bitcoind procs
fab5233 [qa] test_framework: Set wait-timeout for bitcoind procs (MarcoFalke)
2016-05-20 17:34:11 +02:00
Jonas Schnelli 3d3602faf4
Add RPC test for the p2p mempool command in conjunction with disabled bloomfilters 2016-05-20 16:50:48 +02:00
MarcoFalke 8844ef15de
Merge #8056: [qa] Remove hardcoded "4 nodes" from test_framework
fad68f7 [qa] Reduce node count for some tests (MarcoFalke)
fac9349 [qa] Remove hardcoded "4 nodes" from test_framework (MarcoFalke)
2016-05-20 15:26:22 +02:00
MarcoFalke fa57b0c5ef [qa] test_framework: Append portseed to tmpdir
This makes it possible to specify a tmpdir while running tests in
parallel
2016-05-20 09:18:41 +02:00
Wladimir J. van der Laan 239d419864
Merge #7917: Optimize reindex
b4d24e1 Report reindexing progress in GUI (Pieter Wuille)
d3d7547 Add -reindex-chainstate that does not rebuild block index (Pieter Wuille)
fb8fad1 Optimize ActivateBestChain for long chains (Pieter Wuille)
316623f Switch reindexing to AcceptBlock in-loop and ActivateBestChain afterwards (Pieter Wuille)
d253ec4 Make ProcessNewBlock dbp const and update comment (Pieter Wuille)
2016-05-18 12:31:32 +02:00
MarcoFalke fad184550e [qa] test_framework: Use different rpc_auth_pair for each node 2016-05-17 11:02:13 +02:00
MarcoFalke e2bf830bb6
Merge #8038: [qa, doc] Various minor fixes
fa83a5d [qa] wallet: Temporarily disable salvagewallet test (MarcoFalke)
fadd048 [doc] Link to clang-format in the developer notes (MarcoFalke)
fa72f7d [doc] Remove outdated line from listunspent RPC help, fix typo (MarcoFalke)
ac40ed7 Increase timeout waiting for pruned blk00000.dat (error10)
2016-05-17 09:27:25 +02:00
Pieter Wuille b4d24e142e Report reindexing progress in GUI 2016-05-17 00:45:58 +02:00
Pieter Wuille d3d7547911 Add -reindex-chainstate that does not rebuild block index 2016-05-17 00:45:57 +02:00
MarcoFalke fad68f751a [qa] Reduce node count for some tests 2016-05-15 12:58:56 +02:00
MarcoFalke fac9349798 [qa] Remove hardcoded "4 nodes" from test_framework 2016-05-15 12:58:53 +02:00
MarcoFalke fab5233fe6 [qa] test_framework: Set wait-timeout for bitcoind procs 2016-05-12 13:11:20 +02:00
MarcoFalke fad60b3911 [qa] Fix bip9-softforks blockstore issue 2016-05-11 16:43:32 +02:00
MarcoFalke fa83a5dbce [qa] wallet: Temporarily disable salvagewallet test 2016-05-10 18:09:18 +02:00
error10 ac40ed7800 Increase timeout waiting for pruned blk00000.dat
In my ever-growing list of test failures, I was seeing this one intermittently.

```
Running 2nd level testscript pruning.py...
Initializing test directory /tmp/testY5ypCv
Warning! This test requires 4GB of disk space and takes over 30 mins (up to 2 hours)
Mining a big blockchain of 995 blocks
Check that we haven't started pruning yet because we're below PruneAfterHeight
Success
Though we're already using more than 550MB, current usage: 587
Mining 25 more blocks should cause the first block file to be pruned
Assertion failed: blk00000.dat not pruned when it should be
  File "/home/error/bitcoinxt-0.11D/qa/rpc-tests/test_framework/test_framework.py", line 118, in main
    self.run_test()
  File "/home/error/bitcoinxt-0.11D/qa/rpc-tests/pruning.py", line 272, in run_test
    self.test_height_min()
  File "/home/error/bitcoinxt-0.11D/qa/rpc-tests/pruning.py", line 94, in test_height_min
    raise AssertionError("blk00000.dat not pruned when it should be")
Stopping nodes
Failed
```

After digging into the test, I found that the code is waiting 10 seconds for blk00000.dat to be deleted, and then throwing this failure if it still exists after 10 seconds.

I increased this amount, had the script print the actual time taken, and ran the test a few more times. The time taken ranged between 8 to 12 seconds. So, I feel that this timeout is too short.

After changing the timeout to 30 seconds, the test passes consistently.
(cherry picked from commit 3469911c89a48dd2fefe4d1c2a0c176256e14ee0)
2016-05-10 17:49:12 +02:00
MarcoFalke ccccc591a4 [qa] Add option --portseed to test_framework 2016-05-09 19:56:24 +02:00
MarcoFalke fa494dec79 [qa] pull-tester: Run rpc test in parallel 2016-05-09 19:56:16 +02:00
MarcoFalke 4e14afe42f
Merge #7971: [qa] Refactor test_framework and pull tester
fad3366 [qa] pull-tester: Adjust comment (MarcoFalke)
fafb33c [qa] Stop other nodes, even when one fails to stop (MarcoFalke)
2222dae [qa] Update README.md (MarcoFalke)
fabbf6b [qa] Refactor test_framework and pull tester (MarcoFalke)
2016-05-09 17:06:44 +02:00
MarcoFalke 3e90fe6534
Merge #8018: Autofind rpc tests --srcdir
5ea4508 Autofind rpc tests --srcdir (Jonas Schnelli)
2016-05-09 17:00:21 +02:00
Jonas Schnelli 5ea450834e
Autofind rpc tests --srcdir 2016-05-09 15:05:58 +02:00
Wladimir J. van der Laan 65fee8e699 test: Revert fatal-ness of missing python-zmq
It looks like travis is using the `travis.yml` from the branch, but runs
the test script from the branch merged into master. This causes
pull requests created before the QA tests python 3 transition to fail.

This temporarily reverts fa05e22e91
(#7851). It can be restored when this is no longer an issue.
2016-05-09 12:12:09 +02:00
MarcoFalke fad336648c [qa] pull-tester: Adjust comment 2016-05-08 14:09:14 +02:00
MarcoFalke fafb33cdef [qa] Stop other nodes, even when one fails to stop 2016-05-06 12:44:03 +02:00
MarcoFalke 2222dae6e3 [qa] Update README.md 2016-05-06 12:43:46 +02:00
MarcoFalke fabbf6bd62 [qa] Refactor test_framework and pull tester
* log to stdout
* increase range for p2p and rpc ports
* UPPERCASE_CONSTANTS
* Stop nodes on CTRL+C
2016-05-06 12:43:34 +02:00
MarcoFalke fa389d4edc [qa] Switch to py3 2016-05-05 15:43:37 +02:00
Wladimir J. van der Laan 0630353323
Merge #7953: Create signmessagewithprivkey rpc
7db0ecb Test for signing messages (Andrew Chow)
f90efbf Create signmessagewithprivkey rpc (Andrew)
2016-05-05 12:54:14 +02:00
Pavel Janík 43bbcd0753 [qa] Fix typos in doc and comments 2016-05-02 22:31:00 +02:00
MarcoFalke fa17f93fbd [qa] smartfees: Properly use ordered dict 2016-05-02 19:36:06 +02:00
Jonas Schnelli 3b35e4896b
[RPC] add feerate option to fundrawtransaction 2016-04-28 22:04:07 +02:00
Andrew Chow 7db0ecb90c Test for signing messages
New rpc test for signing and verifying messages.
2016-04-28 14:58:14 -04:00
Jonas Schnelli a946bb6b18
[RPC] createrawtransaction: add option to set the sequence number per input 2016-04-27 15:42:14 +02:00
MarcoFalke fada064f67 [qa] test_framework: Properly print exceptions and assert empty dict 2016-04-26 18:04:26 +02:00
MarcoFalke 5555528b47 [qa] mininode: Unfiddle strings into bytes 2016-04-23 20:20:46 +02:00
Suhas Daftuar 807fa47a1e Tests: Fix deserialization of reject messages
Assume that reject messages for blocks or transactions due to reason
REJECT_MALFORMED will not include the hash of the block or tx being rejected.
2016-04-20 09:27:26 -04:00
Wladimir J. van der Laan a1eb344ba8
Merge #7762: [ZMQ] append a message sequence number to every ZMQ notification
0b25a9f [ZMQ] append a message sequence number to every ZMQ notification (Jonas Schnelli)
de821d5 [ZMQ] refactor message string (Jonas Schnelli)
2016-04-19 15:44:38 +02:00
Jonas Schnelli 0b25a9fb42
[ZMQ] append a message sequence number to every ZMQ notification 2016-04-19 15:32:11 +02:00
Joao Fonseca 5d217decc1 Add test to check spendable and unspendable UTXO on RPC listunspent 2016-04-19 12:29:27 +01:00
Joao Fonseca fa942c755a Move method to check matches within arrays on util.py 2016-04-19 12:29:19 +01:00
Wladimir J. van der Laan fa9d86f8c4
Merge #7851: [qa] pull-tester: Don't mute zmq ImportError
fae1f4e [qa] rpc-tests: Fix link in comment and label error msg (MarcoFalke)
faa4f22 [qa] pull-tester: Exit early when no tests are run (MarcoFalke)
fa05e22 [qa] pull-tester: Don't mute zmq ImportError (MarcoFalke)
2016-04-19 10:26:11 +02:00
MarcoFalke fae1f4ebfe [qa] rpc-tests: Fix link in comment and label error msg 2016-04-18 14:52:28 +02:00
Wladimir J. van der Laan b1bf511af6
Merge #7833: tests: Check Content-Type header returned from RPC server
5078ca4 tests: Check Content-Type header returned from RPC server (Wladimir J. van der Laan)
2016-04-18 12:45:04 +02:00
João Barbosa af4fe7fd12 Add change options to fundrawtransaction 2016-04-15 15:36:05 +02:00
Wladimir J. van der Laan 6ef5e000a2
Merge #7853: [qa] py2: Unfiddle strings into bytes explicitly
faa41ee [qa] py2: Unfiddle strings into bytes explicitly (MarcoFalke)
2016-04-14 17:40:31 +02:00
Rusty Russell d12760b16a rpc-tests: handle KeyError nicely in test_framework.py
btcdrak wrote this for me.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-04-13 16:54:07 +09:30
Rusty Russell 85c807c9ea getblockchaininfo: make bip9_softforks an object, not an array.
We can't change "softforks", but it seems far more logical to use tags
in an object rather than using an "id" field in an array.

For example, to get the csv status before, you need to iterate the
array to find the entry with 'id' field equal to "csv":

   jq '.bip9_softforks | map(select(.id == "csv"))[] | .status'

Now:
   jq '.bip9_softforks.csv.status'

There is no issue with fork names being incompatible with JSON tags,
since we're selecting them ourselves.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-04-13 16:53:52 +09:30
MarcoFalke faa41ee204 [qa] py2: Unfiddle strings into bytes explicitly 2016-04-10 20:35:57 +02:00
MarcoFalke faa4f22342 [qa] pull-tester: Exit early when no tests are run 2016-04-09 23:08:29 +02:00
MarcoFalke fa05e22e91 [qa] pull-tester: Don't mute zmq ImportError 2016-04-09 21:21:56 +02:00
Suhas Daftuar da5fdbb3a2 Test relay of version 2 transactions 2016-04-07 14:59:50 -04:00
Suhas Daftuar 5cb1d8a207 Tests: move get_bip9_status to util.py 2016-04-07 14:54:50 -04:00
Wladimir J. van der Laan 5078ca4543 tests: Check Content-Type header returned from RPC server
Check the Content-Type header that is returned from the RPC server. Only
if it is `application/json` the data is supposed to be parsed as JSON.

This gives better reporting if the HTTP server happens to return an error that is
not JSON-formatted, which is the case if it happens at a lower level
before JSON-RPC kicks in.

Before: `Unexpected exception caught during testing: No JSON object could be decoded`

After: `JSONRPC error: non-JSON HTTP response with '403 Forbidden' from server`
2016-04-07 15:40:17 +02:00
Wladimir J. van der Laan 3bc71e1572
Merge #7802: [qa] httpbasics: Actually test second connection
fa24456 [qa] httpbasics: Actually test second connection (MarcoFalke)
2016-04-06 14:14:14 +02:00
Wladimir J. van der Laan 401c65c6b3
Merge #7803: [qa] maxblocksinflight: Actually enable test
fac724c [qa] maxblocksinflight: Actually enable test (MarcoFalke)
2016-04-06 14:13:38 +02:00
Wladimir J. van der Laan 70ac71b877
Merge #7801: [qa] Remove misleading "errorString syntax"
ffff866 [qa] Remove misleading "errorString syntax" (MarcoFalke)
2016-04-06 14:12:44 +02:00
mruddy 92107d574d RPC: add versionHex in getblock and getblockheader JSON results; expand data in getblockchaininfo bip9_softforks field. 2016-04-04 22:21:00 +00:00
MarcoFalke ffff866da8 [qa] Remove misleading "errorString syntax" 2016-04-03 21:33:56 +02:00
MarcoFalke fac724c78f [qa] maxblocksinflight: Actually enable test 2016-04-03 20:49:32 +02:00
MarcoFalke fa24456d0c [qa] httpbasics: Actually test second connection 2016-04-03 20:43:56 +02:00
Wladimir J. van der Laan ff5874bcf7
Merge #7778: [qa] Bug fixes and refactor
4444806 [qa] mininode: Combine struct.pack format strings (MarcoFalke)
faaa3c9 [qa] mininode: Catch exceptions in got_data (MarcoFalke)
fa2cea1 [qa] rpc-tests: Properly use integers, floats (MarcoFalke)
fa524d9 [qa] Use python2/3 syntax (MarcoFalke)
2016-04-03 15:54:35 +02:00
MarcoFalke 444480649f [qa] mininode: Combine struct.pack format strings 2016-04-02 11:48:07 +02:00
MarcoFalke faaa3c9b65 [qa] mininode: Catch exceptions in got_data 2016-04-01 21:23:49 +02:00
MarcoFalke fa2cea163b [qa] rpc-tests: Properly use integers, floats 2016-04-01 21:23:30 +02:00
Wladimir J. van der Laan e9723cb273
Merge #7489: tests: Make proxy_test work on travis servers without IPv6
7539f1a tests: Make proxy_test work on travis servers without IPv6 (Wladimir J. van der Laan)
2016-04-01 14:42:26 +02:00
MarcoFalke fa524d9ddb [qa] Use python2/3 syntax 2016-03-31 18:35:17 +02:00
BtcDrak 40234ba89f Fix comments in tests 2016-03-30 19:38:02 +01:00
Wladimir J. van der Laan e8a8f3d4b2
Merge #7648: BIP9 versionbits softfork for BIP68, BIP112 and BIP113
71527a0 Test of BIP9 fork activation of mtp, csv, sequence_lock (NicolasDorier)
19d73d5 Add RPC test for BIP 68/112/113 soft fork. (Alex Morcos)
12c89c9 Policy: allow transaction version 2 relay policy. (BtcDrak)
02c2435 Soft fork logic for BIP68 (BtcDrak)
478fba6 Soft fork logic for BIP113 (BtcDrak)
65751a3 Add CHECKSEQUENCEVERIFY softfork through BIP9 (Pieter Wuille)
2016-03-30 18:59:39 +02:00
Wladimir J. van der Laan d8e862a5a7
Merge #7744: test_framework: detect failure of bitcoind startup
018b60c test_framework: detect failure of bitcoind startup (Wladimir J. van der Laan)
2016-03-29 17:16:30 +02:00
MarcoFalke faa9f01461 [qa] Don't run pruning.py twice 2016-03-29 16:49:45 +02:00
Wladimir J. van der Laan b35a591793
Merge #7558: [RPC] Add import/removeprunedfunds rpc call
f1bb13c Added companion removeprunedfunds call. (instagibbs)
7eb7029 Add importprunedfunds rpc call (instagibbs)
2016-03-29 11:15:02 +02:00
MarcoFalke fa3fafc960 [qa] wallet: Wait for reindex to catch up 2016-03-28 21:47:42 +02:00
Luke Dashjr e7e48ba66c test_framework: Py3.4 compat: Specify timeout parameter by name
Changed in version 3.4: The strict parameter was removed. HTTP 0.9-style
“Simple Responses” are not longer supported.
(https://docs.python.org/3/library/http.client.html)

Source: 7ebeebb4f6
2016-03-28 12:30:48 +02:00
Wladimir J. van der Laan d7b80b54fb test_framework: Avoid infinite loop in encoding Decimal
Avoid an infinite loop in encoding, by ensuring EncodeDecimal
returns a string. round(Decimal) used to convert it to
float, but it no longer does in python 3.x. Strings are
supported since #6380, so just use that.
2016-03-28 12:20:13 +02:00
Wladimir J. van der Laan 018b60c5ea test_framework: detect failure of bitcoind startup
Replace the `bitcoin-cli -rpcwait` after spawning bitcoind
with our own loop that detects when bitcoind exits prematurely.

And if one node fails to start, stop the others.

This prevents a hang in such a case (see #7463).
2016-03-26 08:10:07 +01:00
instagibbs f1bb13c93d Added companion removeprunedfunds call. 2016-03-23 10:40:38 -04:00
instagibbs 7eb702954e Add importprunedfunds rpc call 2016-03-23 10:40:38 -04:00
Wladimir J. van der Laan 3bdc583b3f
Merge #7715: Fix calculation of balances and available coins.
68d4282 Fix calculation of balances and available coins. (Alex Morcos)
2016-03-23 15:09:02 +01:00
Wladimir J. van der Laan e2ebd259fb
Merge #7671: [RPC] Add generatetoaddress rpc to mine to an address
d5c5c71 RPC tests for generatetoaddress (Andrew C)
fe00ca7 Create generatetoaddress rpc (Andrew C)
2016-03-23 13:24:53 +01:00
Alex Morcos b536a6fc83 Add p2p test for feefilter 2016-03-21 10:46:25 -04:00
Alex Morcos 5fa66e4682 Create SingleNodeConnCB class for RPC tests 2016-03-21 10:46:25 -04:00
Andrew C d5c5c713e6 RPC tests for generatetoaddress
Adds two RPC tests for the generatetoaddress RPC, one in the wallet, and one when the wallet is disabled.

The wallet RPC Test mines Bitcoin to another node's address and checks that that node has received the Bitcoin.

The RPC test without the wallet mines Bitcoin to an arbitrary address and checks that it works. It then mines to an arbitrary invalid address and checks that that fails.
2016-03-21 10:22:29 -04:00
NicolasDorier 71527a0f31 Test of BIP9 fork activation of mtp, csv, sequence_lock 2016-03-21 09:07:34 +00:00
MarcoFalke fab3890156 [qa] rpc-test: Normalize assert() 2016-03-19 19:07:08 +01:00
Alex Morcos 68d4282774 Fix calculation of balances and available coins.
No longer consider coins which aren't in our mempool.

Add test for regression in abandonconflict.py
2016-03-18 09:56:30 -04:00
Wladimir J. van der Laan 29e1131c46
Merge #7702: [qa] Add tests verifychain, lockunspent, getbalance, listsinceblock
fa4a522 [qa] Add tests verifychain, lockunspent, getbalance, listsinceblock (MarcoFalke)
2016-03-18 12:23:55 +01:00
Wladimir J. van der Laan efde86b4aa
Merge #7709: Tests: fix missing import in mempool_packages
e38781d Tests: fix missing import in mempool_packages (Suhas Daftuar)
2016-03-18 11:09:03 +01:00
Alex Morcos 19d73d540c Add RPC test for BIP 68/112/113 soft fork.
This RPC test will test both the activation mechanism of the first versionbits soft fork as well as testing many code branches of the consensus logic for BIP's 68, 112, and 113.
2016-03-18 08:09:06 +00:00
Wladimir J. van der Laan 73b7eb501e
Merge #7575: Minimal BIP9 implementation
8c74ced RPC test for BIP9 warning logic (Suhas Daftuar)
7870deb Test versionbits deployments (Suhas Daftuar)
532cbb2 Add testing of ComputeBlockVersion (Suhas Daftuar)
d23f6c6 Softfork status report in RPC (Pieter Wuille)
732e774 Versionbits tests (Pieter Wuille)
6851107 BIP9 Implementation (Pieter Wuille)
2016-03-18 08:50:43 +01:00
Suhas Daftuar e38781da40 Tests: fix missing import in mempool_packages 2016-03-17 20:23:29 -04:00
MarcoFalke fa4a522541 [qa] Add tests verifychain, lockunspent, getbalance, listsinceblock 2016-03-17 11:21:34 +01:00
Suhas Daftuar ec143391ef Tests: make prioritise_transaction.py more robust 2016-03-16 12:52:04 -04:00
Wladimir J. van der Laan 3d0dfdbf9f
Merge #7684: [qa] Extend tests
fad8cfb [qa] mininode: Add and use CONSTs (MarcoFalke)
fa8cd46 [qa] Move create_tx() to util.py (MarcoFalke)
fad7dc8 [qa] wallet: speed up tests (MarcoFalke)
fa3a81a [tests] Extend util_ParseMoney test case (MarcoFalke)
2016-03-16 17:32:05 +01:00
Suhas Daftuar 8c74cedef5 RPC test for BIP9 warning logic 2016-03-16 15:09:39 +01:00
MarcoFalke fad8cfb893 [qa] mininode: Add and use CONSTs 2016-03-14 16:45:18 +01:00
MarcoFalke fa8cd46f39 [qa] Move create_tx() to util.py 2016-03-14 16:45:04 +01:00
MarcoFalke fad7dc8a6c [qa] wallet: speed up tests 2016-03-14 16:20:59 +01:00
Elliot Olds 2ab835ae6c Check if zmq is installed in tests, update docs
If ZMQ is enabled, check whether it's installed before running ZMQ tests.
If it isn't, disable ZMQ and print a warning.

Also add dependency info to test docs, so users know ZMQ is required
before running tests, and so they know how to install it.

When following the build instructions before this change then trying
to run the RPC tests, a unix user would get an error when python
tried to import zmq.

There may be other dependencies that should be added to the docs,
particularly ones for non-unix systems. This is the only unlisted
dependency I encountered using linux.
2016-03-10 15:41:13 -08:00
MarcoFalke fa97f95c15 [doc] Fix markdown 2016-03-01 14:35:19 +01:00
BtcDrak 6ba8b2a6c4 Add bip68-sequence.py to extended rpc tests 2016-02-13 15:42:24 +00:00
Wladimir J. van der Laan 80d1f2e483
Merge #7184: Implement SequenceLocks functions for BIP 68
b043c4b fix sdaftuar's nits again (Alex Morcos)
a51c79b Bug fix to RPC test (Alex Morcos)
da6ad5f Add RPC test exercising BIP68 (mempool only) (Suhas Daftuar)
c6c2f0f Implement SequenceLocks functions (Alex Morcos)
2016-02-12 17:03:46 +01:00
Alex Morcos a51c79be6b Bug fix to RPC test 2016-02-10 16:01:04 -05:00
Suhas Daftuar da6ad5f684 Add RPC test exercising BIP68 (mempool only) 2016-02-10 15:35:33 -05:00
Wladimir J. van der Laan 7539f1aae3 tests: Make proxy_test work on travis servers without IPv6 2016-02-09 12:37:05 +01:00
mrbandrews 7689041c03 [rpc-tests] Change solve() to use rehash 2016-02-04 14:36:11 -05:00
Wladimir J. van der Laan 62f2d769e4
Merge #7348: MOVE ONLY: move rpc* to rpc/
d13f65e rpc: update inline comments to refer to new file paths (Daniel Cousens)
a0eaff8 move rpc* to rpc/ (Daniel Cousens)
2016-01-28 11:28:24 +01:00
Wladimir J. van der Laan 9189e30b12
Merge #7300: [trivial] Add missing copyright headers
fabcee1 Remove copyright header from autogenerated chainparamsseeds.h (MarcoFalke)
fa60d05 Add missing copyright headers (MarcoFalke)
fa7e4c0 Bump copyright headers to 2014 (MarcoFalke)
2016-01-27 12:06:31 +01:00
Wladimir J. van der Laan 02676c57ce
Merge #7236: Use createrawtx locktime parm in txn_clone
e279038 Use createrawtx locktime parm in txn_clone (Tom Harding)
2016-01-22 16:57:47 +01:00
Wladimir J. van der Laan 93b05764d5
Merge #7177: [qa] Change default block priority size to 0
fa8e2a6 [qa] Change default block priority size to 0 (MarcoFalke)
2016-01-22 13:26:49 +01:00
Daniel Cousens d13f65ebac rpc: update inline comments to refer to new file paths 2016-01-21 08:39:04 +11:00
MarcoFalke fa8e2a6925 [qa] Change default block priority size to 0 2016-01-20 16:58:43 +01:00
Suhas Daftuar eaa8d2754b RPC: indicate which transactions are replaceable
Add "bip125-replaceable" output field to listtransactions and gettransaction
which indicates if an unconfirmed transaction, or any unconfirmed parent, is
signaling opt-in RBF according to BIP 125.
2016-01-19 08:30:04 -05:00
Wladimir J. van der Laan 3b43cad9d0
Merge pull request #7164: Do not download transactions during initial blockchain sync
39a525c Do not download transactions during inital sync (ptschip)
2016-01-19 12:58:15 +01:00
Wladimir J. van der Laan 21376af183
Merge pull request #7372
facd288 [qa] wallet: Print maintenance (MarcoFalke)
2016-01-18 16:24:14 +01:00
MarcoFalke facd288c31 [qa] wallet: Print maintenance 2016-01-18 16:18:48 +01:00
Suhas Daftuar 4a04879378 Fix error in blockchain.py introduced in merge 2016-01-18 09:17:48 -05:00
Wladimir J. van der Laan e4e77ee55d
Merge pull request #7194
135d6ec Add RPC tests for getblockheader. (James O'Beirne)
4745636 Add RPC documentation for getblockheader[chainwork]. (James O'Beirne)
16d4fce Add assert_is_hex_string and assert_is_hash_string to RPC test utils. (James O'Beirne)
2016-01-18 12:24:01 +01:00
Wladimir J. van der Laan d3dfc6d7e1
Merge pull request #7320
fa1cb1a [qa] Test walletpassphrase timeout (MarcoFalke)
2016-01-18 10:56:00 +01:00
Wladimir J. van der Laan 3ec5bb0a6e
Merge pull request #7335
7777994 [qa] Fix pyton syntax in rpc tests (MarcoFalke)
2016-01-18 10:46:01 +01:00
Wladimir J. van der Laan a8bd616fea
Merge pull request #7329
9d263bd Typo fixes in comments (Chris Wheeler)
2016-01-18 10:41:32 +01:00
Wladimir J. van der Laan f2cf071e70
Merge pull request #7368
4d10d2e Eliminate race condition in mempool_packages test (Suhas Daftuar)
2016-01-18 10:26:48 +01:00
Chris Wheeler 9d263bd17c Typo fixes in comments 2016-01-17 11:03:56 +00:00
Suhas Daftuar 4d10d2e16f Eliminate race condition in mempool_packages test 2016-01-14 20:35:21 -05:00
MarcoFalke 7777994846 [qa] Fix pyton syntax in rpc tests 2016-01-13 20:31:03 +01:00
Wladimir J. van der Laan be6d5a617d
Merge pull request #7312
d11fc16 [Wallet] Call notification signal when a transaction is abandoned (Jonas Schnelli)
df0e222 Add RPC test for abandoned and conflicted transactions. (Alex Morcos)
01e06d1 Add new rpc call: abandontransaction (Alex Morcos)
9e69717 Make wallet descendant searching more efficient (Alex Morcos)
2016-01-13 15:47:45 +01:00
Alex Morcos df0e2226d9 Add RPC test for abandoned and conflicted transactions. 2016-01-13 08:42:04 -05:00
Wladimir J. van der Laan c49551886a
Merge pull request #7296
bebe58b SQUASHME: Fix rpc tests that assumed fallback to minRelayTxFee (Alex Morcos)
e420a1b Add sane fallback for fee estimation (Alex Morcos)
995b9f3 Always respect GetRequiredFee for wallet txs (Alex Morcos)
2016-01-13 11:04:31 +01:00
MarcoFalke fa1cb1ae15 [qa] Test walletpassphrase timeout 2016-01-09 16:54:04 +01:00
Wladimir J. van der Laan 93ca5a35b0
Merge pull request #7308
168915e Eliminate race condition in sendheaders.py test (Suhas Daftuar)
82a0ce0 Add race-condition debugging tool to mininode (Suhas Daftuar)
2016-01-09 16:30:33 +01:00
Suhas Daftuar 168915e6de Eliminate race condition in sendheaders.py test
Clear the last block announcement before mining new blocks.
2016-01-07 09:23:05 -05:00
Suhas Daftuar 82a0ce09b4 Add race-condition debugging tool to mininode 2016-01-07 09:22:20 -05:00
Wladimir J. van der Laan d964b5bb1a
Merge pull request #7229
fa33d97 [walletdb] Add missing LOCK() in Recover() for dummyWallet (MarcoFalke)
fa14d99 [qa] check if wallet or blochchain maintenance changes the balance (MarcoFalke)
fa0765d [qa] Cleanup wallet.py test (MarcoFalke)
2016-01-07 09:17:11 +01:00
Alex Morcos bebe58b748 SQUASHME: Fix rpc tests that assumed fallback to minRelayTxFee 2016-01-05 17:47:04 -05:00
MarcoFalke fa60d05a4e Add missing copyright headers 2016-01-05 21:34:15 +01:00
Wladimir J. van der Laan 605c17844e
Merge pull request #7205
fa71669 [devtools] Use git pretty-format for year parsing (MarcoFalke)
fa24439 Bump copyright headers to 2015 (MarcoFalke)
fa6ad85 [devtools] Rewrite fix-copyright-headers.py (MarcoFalke)
2016-01-05 14:11:40 +01:00
Wladimir J. van der Laan 49a735cba4
Merge pull request #7250
fa0a974 [qa] Move gen_return_txouts() to util.py (MarcoFalke)
2016-01-04 11:58:12 +01:00
MarcoFalke fa0a9749eb [qa] Move gen_return_txouts() to util.py 2015-12-24 12:26:36 +01:00
Wladimir J. van der Laan 97d83739db
Merge pull request #7153
7632cf6 [Tests] Refactor some shared functions (Jonas Schnelli)
110ff11 [Tests] Add mempool_limit.py test (Jonas Schnelli)
2015-12-22 14:06:50 +01:00
Wladimir J. van der Laan 595f93977c
Merge pull request #7213
37d271d Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY. (mb300sd)
2015-12-22 11:37:11 +01:00
Wladimir J. van der Laan ed095f0407
Merge pull request #7226
9b41a5f Add more tests to p2p-fullblocktest (Suhas Daftuar)
2015-12-22 09:54:27 +01:00
Wladimir J. van der Laan c24337964f
Merge pull request #7062
901b01d Remove GetMinRelayFee (Suhas Daftuar)
27fae34 Use fee deltas for determining mempool acceptance (Suhas Daftuar)
9ef2a25 Update replace-by-fee logic to use fee deltas (Suhas Daftuar)
eb30666 Fix mempool limiting for PrioritiseTransaction (Suhas Daftuar)
2015-12-21 17:14:13 +01:00
Tom Harding e279038e84 Use createrawtx locktime parm in txn_clone
Streamlines the test and serves as a test of the createrawtransaction
locktime parameter.
2015-12-20 15:41:20 -08:00
MarcoFalke fa14d99484 [qa] check if wallet or blochchain maintenance changes the balance 2015-12-18 12:37:29 +01:00
MarcoFalke fa0765d433 [qa] Cleanup wallet.py test
* Remove outdated comment
* Remove unneeded 0s
* Remove semicolons
2015-12-18 12:37:08 +01:00
Suhas Daftuar 9b41a5fba2 Add more tests to p2p-fullblocktest 2015-12-18 05:39:31 -05:00
ptschip 39a525c21f Do not download transactions during inital sync 2015-12-15 07:41:44 -08:00
mb300sd 37d271d7cc Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY. 2015-12-15 02:01:45 -05:00
James O'Beirne 135d6ec8ce Add RPC tests for getblockheader. 2015-12-14 10:40:15 -08:00
James O'Beirne 16d4fce0b2 Add assert_is_hex_string and assert_is_hash_string to RPC test utils. 2015-12-14 10:40:11 -08:00
Wladimir J. van der Laan 83cdcbdca4 test: don't override BITCOIND and BITCOINCLI if they're set
In rpc-tests.py, don't override BITCOIND and BITCOINCLI if they're
already set. Makes it possible to run the tests with either another tree
or the GUI.
2015-12-14 14:18:12 +01:00
Jonas Schnelli 979698c171
[RPC-Tests] add option to run rpc test over QT clients 2015-12-14 12:54:55 +01:00
MarcoFalke fa24439ff3 Bump copyright headers to 2015 2015-12-13 18:08:39 +01:00
Wladimir J. van der Laan 20411903d7 test: Add basic test for reject code
Extend P2P test framework to make it possible to expect reject
codes for transactions and blocks.
2015-12-09 08:48:08 +01:00
Wladimir J. van der Laan 82bcf405f6
Merge pull request #7171
2f601d2 test: remove necessity to call create_callback_map (Wladimir J. van der Laan)
2015-12-07 12:43:44 +01:00
Wladimir J. van der Laan 4c40ec0451 tests: Disable Tor interaction
This is unnecessary during the current tests (any test for Tor
interaction can explicitly enable it) and interferes with the proxy
test.
2015-12-04 13:24:12 +01:00
Wladimir J. van der Laan 2f601d215d test: remove necessity to call create_callback_map
Remove necessity to call create_callback_map (as well as the function
itself) from the Python P2P test framework. Invoke the appropriate
methods directly.

- Easy to forget to call it and wonder why it doesn't work
- Simplifies the code
- This makes it easier to handle new messages in subclasses
2015-12-04 13:15:59 +01:00
Jonas Schnelli 7632cf689a
[Tests] Refactor some shared functions 2015-12-03 13:25:27 +01:00
Wladimir J. van der Laan 8843676621
Merge pull request #7133
aa4b0c2 When not filtering blocks, getdata sends more in one test (Pieter Wuille)
d41e44c Actually only use filterInventoryKnown with MSG_TX inventory messages. (Gregory Maxwell)
b6a0da4 Only use filterInventoryKnown with MSG_TX inventory messages. (Patick Strateman)
6b84935 Rename setInventoryKnown filterInventoryKnown (Patick Strateman)
e206724 Remove mruset as it is no longer used. (Gregory Maxwell)
ec73ef3 Replace setInventoryKnown with a rolling bloom filter. (Gregory Maxwell)
2015-12-03 13:16:46 +01:00
Suhas Daftuar 27fae3484c Use fee deltas for determining mempool acceptance 2015-12-02 12:59:30 -05:00
Suhas Daftuar 9ef2a25603 Update replace-by-fee logic to use fee deltas 2015-12-02 12:59:30 -05:00
Suhas Daftuar eb306664e7 Fix mempool limiting for PrioritiseTransaction
Redo the feerate index to be based on mining score, rather than fee.

Update mempool_packages.py to test prioritisetransaction's effect on
package scores.
2015-12-02 12:59:30 -05:00
Peter Todd 092e9ad7d9
Remove old replace-by-fee tests
Made redundant by tests in qa/rpc-tests/replace-by-fee.py
2015-12-02 18:26:53 +08:00
Jonas Schnelli 110ff1142c
[Tests] Add mempool_limit.py test 2015-12-02 08:36:05 +01:00