Commit Graph

627 Commits

Author SHA1 Message Date
MarcoFalke
d075479969
Merge #8882: [qa] Fix race conditions in p2p-compactblocks.py and sendheaders.py
b55d941 [qa] Fix race condition in sendheaders.py (Suhas Daftuar)
6976db2 [qa] Another attempt to fix race condition in p2p-compactblocks.py (Suhas Daftuar)
2016-10-11 10:50:22 +02:00
Suhas Daftuar
b55d9411e7 [qa] Fix race condition in sendheaders.py
Also de-duplicates code that has been moved to mininode
2016-10-06 14:21:11 -04:00
Suhas Daftuar
6976db2f46 [qa] Another attempt to fix race condition in p2p-compactblocks.py
sync_with_ping() only guarantees that the node has processed messages
it's received from the peer, not that block announcements from the node have
made it back to the peer.  Replace sync_with_ping() with an explicit check that
the node's tip has been announced.
2016-10-04 15:17:19 -04:00
Suhas Daftuar
27acfc1d2e [qa] Update p2p-compactblocks.py for compactblocks v2 2016-10-04 19:10:49 +02:00
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
Matt Corallo
be7555f0c0 Fix overly-prescriptive p2p-segwit test for new fetch logic 2016-10-04 18:24:10 +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
929860106f
Merge #8840: test: Explicitly set encoding to utf8 when opening text files
30930e8 test: Explicitly set encoding to utf8 when opening text files (Wladimir J. van der Laan)
2016-09-30 12:34:40 +02:00
Wladimir J. van der Laan
83998b52d0
Merge #8841: [qa] fix nulldummy test
46a4774 Fix nulldummy.py test (Johnson Lau)
2016-09-30 12:34:19 +02:00
Johnson Lau
46a4774d2b Fix nulldummy.py test 2016-09-30 02:48:09 +08: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
c9d7b0de2f
Merge #8834: [qa] blockstore: Switch to dumb dbm
fa9cd25 [qa] blockstore: Switch to dumb dbm (MarcoFalke)
2016-09-29 17:23:27 +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
Wladimir J. van der Laan
2dd57e4f9f
Merge #8835: [qa] nulldummy.py: Don't run unused code
fa156c6 [qa] nulldummy: Don't run unused code (MarcoFalke)
2016-09-29 16:45:54 +02:00
MarcoFalke
fa156c604e [qa] nulldummy: Don't run unused code 2016-09-29 15:32:16 +02:00
MarcoFalke
cc9e8aca5f
Merge #8827: [qa] Split up slow RPC calls to avoid pruning test timeouts
a0f8482 [qa] Split up slow RPC calls to avoid pruning test timeouts (Suhas Daftuar)
2016-09-29 13:09:38 +02:00
MarcoFalke
fa9cd25ed0 [qa] blockstore: Switch to dumb dbm 2016-09-29 11:18:31 +02:00
Suhas Daftuar
a0f8482f3e [qa] Split up slow RPC calls to avoid pruning test timeouts 2016-09-28 11:08:08 -04:00
Wladimir J. van der Laan
14e8f9916b
Merge #8810: tests: Add exception error message for JSONRPCException
42f6aed tests: Add exception error message for JSONRPCException (Wladimir J. van der Laan)
2016-09-27 15:20:30 +02:00
Wladimir J. van der Laan
6e54c85439
Merge #8803: Ping regularly in p2p-segwit.py to keep connection alive
0637b02 Ping regularly in p2p-segwit.py to keep connection alive (Johnson Lau)
2016-09-27 13:22:02 +02:00
Wladimir J. van der Laan
dd20ed1223
Merge #8780: [rpc] Deprecate getinfo
fa6e71b [qa] Add getinfo smoke tests and rework versionbits test (MarcoFalke)
ddddaaf [rpc] Deprecate getinfo (MarcoFalke)
2016-09-26 15:03:06 +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
Johnson Lau
0637b02fce Ping regularly in p2p-segwit.py to keep connection alive
This pings regularly while building a big block in p2p-segwit.py, to prevent timeout
2016-09-25 23:44:40 +08:00
MarcoFalke
fa6e71b27d [qa] Add getinfo smoke tests and rework versionbits test 2016-09-25 15:01:29 +02:00
MarcoFalke
e31a43c725
Merge #8789: [qa] pull-tester: Only print output when failed
fa427ce [qa] pull-tester: Only print output when failed (MarcoFalke)
2016-09-24 15:35:35 +02:00
MarcoFalke
fa427cef13 [qa] pull-tester: Only print output when failed 2016-09-22 12:39:39 +02:00
Wladimir J. van der Laan
26b370a937
Merge #8636: Implement NULLDUMMY softfork (BIP147)
482f852 Implement NULLDUMMY softfork (Johnson Lau)
2016-09-22 10:58:00 +02:00
MarcoFalke
ddddaafa4a [rpc] Deprecate getinfo
This was replaced by getmininginfo, getnetworkinfo and getwalletinfo
2016-09-21 21:19:20 +02:00
Wladimir J. van der Laan
1c24d5f637
Merge #8739: [qa] Fix broken sendcmpct test in p2p-compactblocks.py
157254a Fix broken sendcmpct test in p2p-compactblocks.py (Suhas Daftuar)
2016-09-20 16:22:21 +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
Wladimir J. van der Laan
c40dd70d0d
Merge #8750: [qa] Refactor RPCTestHandler to prevent TimeoutExpired
dddd04f [qa] Refactor RPCTestHandler to prevent TimeoutExpired (MarcoFalke)
2016-09-19 16:51:47 +02:00
Wladimir J. van der Laan
9ac01301f5
Merge #8716: [qa] wallet: Check legacy wallet as well
fa644d0 [qa] wallet: Check legacy wallet as well (MarcoFalke)
2016-09-19 15:44:41 +02:00
MarcoFalke
483e8e4f48
Merge #8724: [qa] walletbackup: Sync blocks inside the loop
fad41f3 [qa] walletbackup: Sync blocks inside the loop (MarcoFalke)
2016-09-19 09:41:36 +02:00
MarcoFalke
dddd04f979 [qa] Refactor RPCTestHandler to prevent TimeoutExpired 2016-09-17 11:49:43 +02:00
Suhas Daftuar
157254a4bf Fix broken sendcmpct test in p2p-compactblocks.py
Python lambda use was incorrect.

sendcmpct messages need to be synchronized with RPC calls to generate().

Headers need to be synced (eg with getheaders) for cmpctblock announcements
to start.

Last test omitted sending a sendcmpct message.
2016-09-15 12:32:53 -04:00
MarcoFalke
fad41f308f [qa] walletbackup: Sync blocks inside the loop 2016-09-14 16:29:18 +02:00
MarcoFalke
fa644d0053 [qa] wallet: Check legacy wallet as well 2016-09-14 12:15:30 +02:00
MarcoFalke
fa27d990ee [qa] create_cache: Delete temp dir when done 2016-09-13 19:34:11 +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
Wladimir J. van der Laan
4ced5de71d
Merge #8528: Update p2p-segwit.py to reflect correct behavior
5547aeb p2psegwit.py transaction is rejected due to premature witness not size (instagibbs)
bc1d1f2 Update p2p-segwit.py to reflect correct AskFor behavior (instagibbs)
2016-09-13 11:03:06 +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
Wladimir J. van der Laan
666eaf03cf
Merge #8680: Address Travis spurious failures
d6a5dc4 add waitfornewblock/waitforblock/waitforblockheight rpcs and use them for tests (Cory Fields)
2016-09-09 08:33:54 +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