Commit Graph

129 Commits

Author SHA1 Message Date
Suhas Daftuar 422fac649f [qa] Add support for compactblocks v2 to mininode 2016-10-04 19:10:49 +02:00
Suhas Daftuar f5b9b8f437 [qa] Fix bug in mininode witness deserialization
Also improve tx printing
2016-10-04 19:10:49 +02:00
MarcoFalke 76f3c02fb0
Merge #8860: [qa] util: Move wait_bitcoinds() into stop_nodes()
fa7c35c [qa] util: Move wait_bitcoinds() into stop_nodes() (MarcoFalke)
2016-10-03 10:12:42 +02:00
MarcoFalke fa666094cf [qa] mininode: Only allow named args in wait_until 2016-10-02 12:21:14 +02:00
MarcoFalke fa7c35c4ec [qa] util: Move wait_bitcoinds() into stop_nodes() 2016-10-02 11:16:44 +02:00
MarcoFalke 6faffb8a83
Merge #8854: [qa] Fix race condition in p2p-compactblocks test
b5fd666 [qa] Fix race condition in p2p-compactblocks test (Suhas Daftuar)
2016-10-01 11:19:22 +02:00
Suhas Daftuar b5fd666984 [qa] Fix race condition in p2p-compactblocks test
Also fix a bug in the sync_with_ping() helper function
2016-09-30 20:54:30 -04:00
Wladimir J. van der Laan 0572acd63b
Merge #8839: test: Avoid ConnectionResetErrors during RPC tests
1d28faf test: Avoid ConnectionResetErrors during RPC tests (Wladimir J. van der Laan)
2016-09-30 12:35:21 +02:00
Wladimir J. van der Laan 30930e847e test: Explicitly set encoding to utf8 when opening text files
These are text files but their encoding does not depend on the locale.
Not all of them require utf8 but it is better to fix it at something
to remove potential unpredictability.

This is necessary on FreeBSD where no locale is set by default,
and apparently Python defaults not only the terminal encoding to the locale
but that of every text file. So without LOCALE environment it defaults text
file encoding to ASCII. This causes problems with e.g. `bitcoin.conf`.

Luckily the locale doesn't affect the default encoding for str.encode() and
bytes.decode() on Python 3, so this is the only change necessary.
2016-09-29 17:50:05 +02:00
Wladimir J. van der Laan 1d28faf9e9 test: Avoid ConnectionResetErrors during RPC tests
This is necessary on FreeBSD and MacOSX, at least.

See https://github.com/bitcoin/bitcoin/pull/8834#issuecomment-250450213
2016-09-29 15:02:08 +00:00
MarcoFalke fa9cd25ed0 [qa] blockstore: Switch to dumb dbm 2016-09-29 11:18:31 +02:00
Wladimir J. van der Laan 42f6aed731 tests: Add exception error message for JSONRPCException
This improves error reporting if `JSONRPCException` is not specifically caught
and ends up in Python's default backtrace handler.

Before:
```
Traceback (most recent call last):
  File "/.../projects/bitcoin/bitcoin/qa/rpc-tests/test_framework/authproxy.py", line 153, in __call__
    raise JSONRPCException(response['error'])
test_framework.authproxy.JSONRPCException
```

After:
```
Traceback (most recent call last):
  File "/.../projects/bitcoin/bitcoin/qa/rpc-tests/test_framework/authproxy.py", line 152, in __call__
    raise JSONRPCException(response['error'])
test_framework.authproxy.JSONRPCException: Unknown named parameter random (-8)
```
2016-09-25 20:05:03 +02:00
Wladimir J. van der Laan d8b4b631c5
Merge #8676: Add missing copyright headers
783e930 [copyright] Add missing copyright headers (isle2983)
2016-09-19 19:13:48 +02:00
MarcoFalke 7fe6c5c993
Merge #8652: [qa]: remove root test directory for RPC tests
c62cc4e fix path for bak file (whythat)
438e94d remove root test directory for RPC tests (whythat)
2016-09-13 12:00:15 +02:00
isle2983 783e930e68 [copyright] Add missing copyright headers 2016-09-11 15:25:51 -06:00
MarcoFalke 2a0836f6d5
Merge #8667: Fix SIGHASH_SINGLE bug in test_framework SignatureHash
2f2548d Fix SIGHASH_SINGLE bug in test_framework SignatureHash (Johnson Lau)
2016-09-09 23:20:21 +02:00
Cory Fields d6a5dc4a2e add waitfornewblock/waitforblock/waitforblockheight rpcs and use them for tests
waitfornewblock waits until a new block is received, or the timeout expires, then
returns the current block height/hash.

waitforblock waits for a specific blockhash, or until the timeout expires, then
returns the current block height/hash. If the target blockhash is the current
tip, it will return immediately.

waitforblockheight waits until the tip has reached a certain height or higher,
then returns the current height and hash.

waitforblockheight is used to avoid polling in the rpc tests.
2016-09-07 12:46:01 -04:00
Johnson Lau 2f2548d5e0 Fix SIGHASH_SINGLE bug in test_framework SignatureHash
The value for "other" inputs should be -1 (0xffffffffffffffff) instead of 0
2016-09-06 00:50:23 +08:00
whythat 438e94dc33 remove root test directory for RPC tests 2016-09-05 02:00:43 +03:00
Wladimir J. van der Laan 35f64e45c2
Revert "[qa] Adjust timeouts for micro-optimization of run time"
This reverts commit fa2d68f79c.

Temporary revert - see discussion in #8532.
2016-08-18 09:23:31 +02:00
Wladimir J. van der Laan 740cff5808
Merge #8482: [qa] Use single cache dir for chains
fad8cf6 [qa] Use single cache dir for chains (MarcoFalke)
fa2d68f [qa] Adjust timeouts for micro-optimization of run time (MarcoFalke)
fae596f [qa] Sort scripts by time for pull_tester and don't overwrite setup_chain (MarcoFalke)
2016-08-17 12:23:45 +02:00
MarcoFalke fad8cf63e5 [qa] Use single cache dir for chains 2016-08-07 23:13:22 +02:00
MarcoFalke fa2d68f79c [qa] Adjust timeouts for micro-optimization of run time 2016-08-07 23:13:08 +02:00
Wladimir J. van der Laan 63c03dd41c
Merge #8418: Add tests for compact blocks
45c7ddd Add p2p test for BIP 152 (compact blocks) (Suhas Daftuar)
9a22a6c Add support for compactblocks to mininode (Suhas Daftuar)
a8689fd Tests: refactor compact size serialization in mininode (Suhas Daftuar)
9c8593d Implement SipHash in Python (Pieter Wuille)
56c87e9 Allow changing BIP9 parameters on regtest (Suhas Daftuar)
2016-08-02 08:26:57 +02:00
Suhas Daftuar 9a22a6c089 Add support for compactblocks to mininode 2016-07-29 09:41:58 -04:00
Suhas Daftuar a8689fdf8e Tests: refactor compact size serialization in mininode 2016-07-29 09:41:58 -04:00
Pieter Wuille 9c8593d2b4 Implement SipHash in Python 2016-07-29 09:41:58 -04:00
whythat 0ff4375c93 [qa]: add parsing for '<host>:<port>' argument form to rpc_url() 2016-07-25 01:30:28 +03:00
Wladimir J. van der Laan 4324bd237c
Merge #8311: Rename CTxinWitness -> CTxInWitness
36ae37a Rename CTxinWitness -> CTxInWitness (Bob McElrath)
2016-07-14 08:18:38 +02:00
Wladimir J. van der Laan ff46dd4a34
Merge #7540: Rename OP_NOP3 to OP_CHECKSEQUENCEVERIFY
18c975c Rename NOP3 to CHECSEQUENCEVERIFY in rpc tests (BtcDrak)
14d0130 Rename OP_NOP3 to OP_CHECKSEQUENCEVERIFY (BtcDrak)
2016-07-08 11:39:10 +02:00
MarcoFalke fa9976b853 [qa] test_framework: Add wrapper for stop_node 2016-07-07 10:28:42 +02:00
Bob McElrath 36ae37a9f9 Rename CTxinWitness -> CTxInWitness 2016-07-06 19:46:46 -04:00
BtcDrak 14d01309be Rename OP_NOP3 to OP_CHECKSEQUENCEVERIFY 2016-06-28 17:17:36 +01:00
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