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
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
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
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
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
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
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
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
MarcoFalke
fad184550e
[qa] test_framework: Use different rpc_auth_pair for each node
2016-05-17 11:02:13 +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
ccccc591a4
[qa] Add option --portseed to test_framework
2016-05-09 19:56:24 +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
Jonas Schnelli
5ea450834e
Autofind rpc tests --srcdir
2016-05-09 15:05:58 +02:00
MarcoFalke
fafb33cdef
[qa] Stop other nodes, even when one fails to stop
2016-05-06 12:44:03 +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
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
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
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
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
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
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
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
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
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
NicolasDorier
71527a0f31
Test of BIP9 fork activation of mtp, csv, sequence_lock
2016-03-21 09:07:34 +00:00
Suhas Daftuar
ec143391ef
Tests: make prioritise_transaction.py more robust
2016-03-16 12:52:04 -04: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
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
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
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
MarcoFalke
fa8e2a6925
[qa] Change default block priority size to 0
2016-01-20 16:58:43 +01: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
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
MarcoFalke
7777994846
[qa] Fix pyton syntax in rpc tests
2016-01-13 20:31:03 +01:00
Suhas Daftuar
82a0ce09b4
Add race-condition debugging tool to mininode
2016-01-07 09:22:20 -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
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
16d4fce0b2
Add assert_is_hex_string and assert_is_hash_string to RPC test utils.
2015-12-14 10:40:11 -08: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
9afbd96919
Merge pull request #7022
...
50947ef
Change default block priority size to 0 (Alex Morcos)
2015-12-01 12:39:34 +01:00
Suhas Daftuar
6e8b07f5f3
Add rounding helper function to util.py
2015-12-01 11:03:37 +01:00
Alex Morcos
50947ef23f
Change default block priority size to 0
...
Make RPC tests have a default block priority size of 50000 (the old default) so we can still use free transactions in RPC tests. When priority is eliminated, we will have to make a different change if we want to continue allowing free txs.
2015-11-30 16:16:24 -05:00
Wladimir J. van der Laan
a7751824ce
Merge pull request #7103
...
fa506c0
[wallet] Add rpc tests to verify fee calculations (MarcoFalke)
4b89f01
Default fPayAtLeastCustomFee to false (Ryan Havar)
2015-11-30 12:18:20 +01:00
Suhas Daftuar
50262d8953
Allow block announcements with headers
...
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-29 11:59:23 +01:00
MarcoFalke
fa506c0c9b
[wallet] Add rpc tests to verify fee calculations
2015-11-28 22:52:13 +01:00
James O'Beirne
b5cbd396ca
Add basic coverage reporting for RPC tests
...
Thanks to @MarcoFalke @dexX7 @laanwj for review.
2015-11-11 10:33:43 -08:00
Wladimir J. van der Laan
ddf98d1d84
Make RPC tests cope with server-side timeout between requests
...
Python's httplib does not graciously handle disconnections from the http server, resulting in BadStatusLine errors.
See https://bugs.python.org/issue3566 "httplib persistent connections violate MUST in RFC2616 sec 8.1.4."
This was fixed in Python 3.5.
Work around it for now.
2015-09-21 17:15:37 +02:00
ptschip
060058e955
Enable python tests for Native Windows
...
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-26 10:59:22 -07:00
Casey Rodarmor
0ce73985a8
Add p2p-fullblocktest.py
2015-08-21 15:31:37 -04:00
Wladimir J. van der Laan
80cddbbba9
Merge pull request #6539
...
9f68ed6
typofixes (found by misspell_fixer) (Veres Lajos)
2015-08-19 17:28:00 +02:00
Casey Rodarmor
45a6cce971
Fix race condition on test node shutdown
2015-08-12 11:02:43 -04:00
Veres Lajos
9f68ed6b6d
typofixes (found by misspell_fixer)
2015-08-10 22:06:27 +01:00
Casey Rodarmor
56b28fca46
Don't share objects between TestInstances
2015-07-22 12:03:16 -04:00
Jonas Schnelli
7b7f258396
rpc-tests: remove python-bitcoinrpc directory
...
place authproxy.py at same level as other utility classes
2015-05-21 21:22:22 +02:00
Jonas Schnelli
64937fe51a
[QA] restructure rpc tests directory
...
* move non-test classes to subdir `test-framework`
2015-05-18 15:25:45 +02:00