Commit graph

663 commits

Author SHA1 Message Date
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
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
instagibbs
ca10a03add Add basic test for IsStandard witness transaction blinding 2016-09-05 17:53:41 +02:00
whythat
c62cc4ec75 fix path for bak file 2016-09-05 02:06:49 +03:00
whythat
438e94dc33 remove root test directory for RPC tests 2016-09-05 02:00:43 +03:00
djpnewton
f012a857f5 rest.cpp: change HTTP_INTERNAL_SERVER_ERROR to HTTP_BAD_REQUEST 2016-09-01 22:12:19 +12:00
Johnson Lau
482f852da6 Implement NULLDUMMY softfork 2016-08-31 19:38:23 +08:00
isle2983
1467561024 [doc] - clarify statement about parallel jobs in rpc-tests.py 2016-08-29 21:01:38 -06:00
Wladimir J. van der Laan
a5bb6387f7
Merge #8607: [doc] Fix doxygen off-by-one comments, fix typos
fafe7b3 contrib: Make fix-copyright-headers.py more portable (MarcoFalke)
fa27c0a [doc] Fix typos in comments, doxygen: Fix comment syntax (MarcoFalke)
fabfd5d [qa] pull-tester: Don't mute zmq ImportError (MarcoFalke)
67a5502 init: Fix typo in help message for -whitelistforcerelay (Wladimir J. van der Laan)
2016-08-28 16:06:03 +02:00
Pieter Wuille
5805ac836c Add preciousblock tests
Rebased, improved and extended by Luke-Jr.
2016-08-26 23:06:09 +02:00
MarcoFalke
fab5ecb771 [wallet] rpc: Drop misleading option 2016-08-24 19:28:04 +02:00
Wladimir J. van der Laan
21857d2bf7
Merge #8450: [Test] Replace rpc_wallet_tests.cpp with python RPC unit tests
9578333 Remove rpc_wallet_tests.cpp (Patrick Strateman)
25400c4 Account wallet feature RPC tests. (Patrick Strateman)
2016-08-24 12:10:42 +02:00
MarcoFalke
fabfd5dae2 [qa] pull-tester: Don't mute zmq ImportError 2016-08-22 10:51:40 +02:00
MarcoFalke
faaec1377c [qa] Remove unused code 2016-08-19 22:43:05 +02:00
instagibbs
5547aeb015 p2psegwit.py transaction is rejected due to premature witness not size 2016-08-18 11:02:48 -04: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
a78f95a976
Merge #8531: [qa] abandonconflict: Use assert_equal
fa64306 [qa] abandonconflict: Use assert_equal (MarcoFalke)
2016-08-18 08:43:35 +02:00
MarcoFalke
fa64306520 [qa] abandonconflict: Use assert_equal 2016-08-17 13:25:25 +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
instagibbs
bc1d1f2660 Update p2p-segwit.py to reflect correct AskFor behavior 2016-08-16 15:06:46 -04:00
Wladimir J. van der Laan
c1582d5d85 qa: Remove duplicate hash160 implementation
`hash160` is defined in `test_framework.script`, so there is no need
to define it here again.
2016-08-16 12:04:49 +02:00
Luke Dashjr
239cbd2e5c qa/rpc-tests/segwit: Test GBT sigops before and after activation 2016-08-08 21:58:36 +00:00
Patrick Strateman
25400c4de1 Account wallet feature RPC tests. 2016-08-07 19:30:16 -07: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
6e6ab2c323
Merge #8444: Fix p2p-feefilter.py for changed tx relay behavior
2c517b3 Fix p2p-feefilter.py for changed tx relay behavior (Suhas Daftuar)
2016-08-04 13:31:06 +02:00
Wladimir J. van der Laan
37d83bb0a9
Merge #8391: Consensus: Remove ISM
122786d Consensus: Remove ISM (NicolasDorier)
2016-08-04 12:20:35 +02:00
Wladimir J. van der Laan
2eed09fe1e
Merge #8442: [qa] Rework hd wallet dump test
fa4439d [qa] Rework hd wallet dump test (MarcoFalke)
2016-08-03 10:58:59 +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
2c517b3928 Fix p2p-feefilter.py for changed tx relay behavior 2016-08-01 12:40:38 -04:00
MarcoFalke
fa4439d355 [qa] Rework hd wallet dump test 2016-08-01 12:33:20 +02:00
MarcoFalke
cf2cecb187
Merge #8400: [qa]: enable rpcbind_test
9bbb414 [qa]: enable rpcbind_test (whythat)
0ff4375 [qa]: add parsing for '<host>:<port>' argument form to rpc_url() (whythat)
2016-07-31 17:22:30 +02:00
Suhas Daftuar
45c7ddd109 Add p2p test for BIP 152 (compact blocks) 2016-07-29 09:41:58 -04: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
Jonas Schnelli
54af51d98d
[QA] Add walletdump RPC test (including HD- & encryption-tests) 2016-07-28 15:05:35 +02:00
Jonas Schnelli
2266b43e33
Port from 0.13: Create a new HD seed after encrypting the wallet
Forward-ports two commits from 0.13:
- [0.13] Create a new HD seed after encrypting the wallet
- [Wallet] Add CKeyMetadata record for HDMasterKey(s), factor out HD key generation

Github-Pull: #8389
Rebased-From: f142c11ac634df487cc4bc65a5f1c9a3e3563dd9 de45c065f0648c4c41b57cb492420ceeed29dd11
2016-07-28 13:22:33 +02:00
Wladimir J. van der Laan
4b1a4d8810
Merge #8381: Make witness v0 outputs non-standard
c59c434 qa: Add test for standardness of segwit v0 outputs (Suhas Daftuar)
1ffaff2 Make witness v0 outputs non-standard before segwit activation (Johnson Lau)
2016-07-26 14:24:11 +02:00
whythat
9bbb414b80 [qa]: enable rpcbind_test 2016-07-25 01:31:05 +03:00
whythat
0ff4375c93 [qa]: add parsing for '<host>:<port>' argument form to rpc_url() 2016-07-25 01:30:28 +03:00
NicolasDorier
122786d0e0 Consensus: Remove ISM 2016-07-23 01:02:53 +09:00
Suhas Daftuar
c59c434b7d qa: Add test for standardness of segwit v0 outputs 2016-07-23 00:01:02 +08:00
Jonas Schnelli
b50e1ac298
[Wallet] Correct hdmasterkeyid/masterkeyid name confusion 2016-07-21 21:58:12 +02:00
Suhas Daftuar
2c06bae39e Rename "block cost" to "block weight" 2016-07-18 13:28:26 -04:00
Wladimir J. van der Laan
238300b398
Merge #8323: Add HD keypath to CKeyMetadata, report metadata in validateaddress
7945088 [Wallet] comsetic non-code changes for the HD feature (Jonas Schnelli)
68d7682 [Wallet] ensure CKeyMetadata.hdMasterKeyID will be cleared during SetNull() (Jonas Schnelli)
f708085 [QA] extend wallet-hd test to cover HD metadata (Jonas Schnelli)
986c223 [Wallet] print hd masterkeyid in getwalletinfo (Jonas Schnelli)
b1c7b24 [Wallet] report optional HDKeypath/HDMasterKeyId in validateaddress (Jonas Schnelli)
5b95dd2 [Wallet] extend CKeyMetadata with HD keypath (Jonas Schnelli)
2016-07-18 07:58:33 +02:00
Wladimir J. van der Laan
37303934fe
Merge #8305: Improve handling of unconnecting headers
e91cf4b Add test for handling of unconnecting headers (Suhas Daftuar)
96fa953 Improve handling of unconnecting headers (Suhas Daftuar)
2016-07-18 07:46:12 +02:00
MarcoFalke
fae596f0e4 [qa] Sort scripts by time for pull_tester and don't overwrite setup_chain 2016-07-15 20:18:11 +02:00
Jonas Schnelli
7945088d41
[Wallet] comsetic non-code changes for the HD feature 2016-07-15 10:34:08 +02:00
MarcoFalke
66668c420a [qa] Solve merge conflict of 4324bd237c 2016-07-14 10:30:13 +02:00
Wladimir J. van der Laan
ca40ef6029
Merge #8312: Fix mempool DoS vulnerability from malleated transactions
46c9620 Test that unnecessary witnesses can't be used for mempool DoS (Suhas Daftuar)
bb66a11 Fix DoS vulnerability in mempool acceptance (Suhas Daftuar)
2016-07-14 08:21:13 +02: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
Suhas Daftuar
e91cf4b210 Add test for handling of unconnecting headers 2016-07-12 13:27:01 -04:00
Jonas Schnelli
f70808596f
[QA] extend wallet-hd test to cover HD metadata 2016-07-09 12:12:36 +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
Wladimir J. van der Laan
bb2646aea0
Merge #8309: [qa] Add wallet-hd test
fade505 [qa] Add wallet-hd test (MarcoFalke)
fa9976b [qa] test_framework: Add wrapper for stop_node (MarcoFalke)
2016-07-08 09:58:08 +02:00
Suhas Daftuar
46c9620f11 Test that unnecessary witnesses can't be used for mempool DoS
Check that pre-segwit activation, unnecessary witnesses won't cause
a txid to be permanently rejected.
2016-07-07 21:18:34 -04:00
MarcoFalke
fade505e8b [qa] Add wallet-hd test 2016-07-07 22:19:35 +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
18c975c831 Rename NOP3 to CHECSEQUENCEVERIFY in rpc tests 2016-06-28 17:23:32 +01:00
BtcDrak
14d01309be Rename OP_NOP3 to OP_CHECKSEQUENCEVERIFY 2016-06-28 17:17:36 +01:00
Suhas Daftuar
36f1b9df76 Tests: Increase sync_blocks() timeouts in pruning.py 2016-06-28 10:32:09 -04:00
Wladimir J. van der Laan
d612837814
Merge #8149: Segregated witness rebased
f852813 BIP9 parameters for testnet (Johnson Lau)
070dbc4 --- [SEGWIT] begin: deployment --- (Pieter Wuille)
fdb43df [qa] Add GetTransactionSigOpCost unit tests (Jonas Nick)
d846e02 [qa] script_tests: witness tests can specify tx amount (Suhas Daftuar)
330b0f3 [qa] p2p segwit tests (Suhas Daftuar)
4f7ff00 [qa] Add rpc test for segwit (Alex Morcos)
66cca79 [qa] Autogeneration support for witness in script_tests (Pieter Wuille)
06d3805 [qa] Add segwit support to script_tests (Pieter Wuille)
00f46cb [qa] Add transaction tests for segwit (NicolasDorier)
0aa9207 [qa] Witness version 0 signing unit tests (Pieter Wuille)
978e200 --- [SEGWIT] begin: tests --- (Pieter Wuille)
745eb67 [RPC] signrawtransaction can sign P2WSH (NicolasDorier)
f4691ab [RPC] Add wallet support for witness transactions (using P2SH) (Pieter Wuille)
605e847 BIP143: Signing logic (Pieter Wuille)
9757b57 --- [SEGWIT] begin: wallet --- (Pieter Wuille)
af87a67 Do not use compact blocks when segwit is enabled (Pieter Wuille)
6032f69 Add rewind logic to deal with post-fork software updates (Pieter Wuille)
b7dbeb2 [libconsensus] Script verification API with amounts (Thomas Kerin)
2b1f6f9 BIP141: Other consensus critical limits, and BIP145 (Pieter Wuille)
7c4bf77 [RPC] Return witness data in blockchain RPCs (Johnson Lau)
3dd4102 BIP143: Verification logic (Pieter Wuille)
0ef1dd3 Refactor script validation to observe amounts (Pieter Wuille)
b8a9749 BIP144: Handshake and relay (receiver side) (Pieter Wuille)
8b49040 BIP141: Commitment structure and deployment (Pieter Wuille)
449f9b8 BIP141: Witness program (Pieter Wuille)
7030d9e BIP144: Serialization, hashes, relay (sender side) (Pieter Wuille)
ecacfd9 --- [SEGWIT] begin: P2P/node/consensus --- (Pieter Wuille)
2016-06-24 18:07:44 +02:00
fanquake
d24148742e
[doc] Add OS X ZMQ requirement to QA readme 2016-06-24 15:32:48 +08: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