Commit graph

179 commits

Author SHA1 Message Date
John Newbery
38ad281b2a Use logging in test_framework/comptool.py 2017-03-09 09:26:48 -05:00
John Newbery
ff190739be Use logging in test_framework/blockstore.py 2017-03-09 09:26:48 -05:00
John Newbery
2a9c7c74dc Use logging in test_framework/util.py 2017-03-09 09:26:48 -05:00
John Newbery
b0dec4a04a Remove manual debug settings in qa tests.
-debug and -logtimemicros are now set by default. Individual test cases
no longer need to set these parameters manually.
2017-03-09 09:26:48 -05:00
John Newbery
af1363cb1c Always enable debug log and microsecond logging for test nodes. 2017-03-09 09:26:48 -05:00
John Newbery
6d0e3250bb Use logging in mininode.py
This commit adds a TestFramework.mininode Logger to the mininode module.
This is a child logger of TestFramework, so the handlers set up in
test_framework.py will receive records from this logger and emit them
to the log file and console as appropriate.
2017-03-09 09:26:48 -05:00
John Newbery
0e6d23dd53 Add logging to test_framework.py
This commit adds python logging to test_framework.py. By default this
will output all log levels (DEBUG-INFO-WARNING-ERROR-CRITICAL) to a
test_framework.log file in the temporary test directory, and higher
level logs (WARNING-ERROR-CRITICAL) to the console. The level of logging
to the console can be controlled by a new log-level parameter.

This should have no interaction with the existing trace-rpc parameter.
2017-03-09 09:26:48 -05:00
Wladimir J. van der Laan
30ff3a2fc9
Merge #9602: Remove coin age priority and free transactions - implementation
b421e6d Update example bitcoin.conf (Alex Morcos)
7d4e950 Allow setting minrelaytxfee to 0 (Alex Morcos)
359e8a0 [cleanup] Remove coin age priority completely. (Alex Morcos)
f9b9371 [rpc] Remove priorityDelta from prioritisetransaction (Alex Morcos)
49be7e1 [rpc] Remove priority information from mempool RPC calls (Alex Morcos)
0315888 [test] Remove priority from tests (Alex Morcos)
f838005 No longer allow "free" transactions (Alex Morcos)
ad727f4 [rpc] sendrawtransaction no longer bypasses minRelayTxFee (Alex Morcos)
fe282ac [cleanup] Remove estimatePriority and estimateSmartPriority (Alex Morcos)
400b151 [debug] Change -printpriority option (Alex Morcos)
272b25a [mining] Remove -blockprioritysize. (Alex Morcos)
12839cd [rpc] Remove estimatepriority and estimatesmartpriority. (Alex Morcos)
ddf58c7 wallet: Remove sendfree (MarcoFalke)

Tree-SHA512: a9a4499405923ce794ef18f9e334dbbd59dfc73a3dc2df6f85cc9c62af6f353ec2eed9c2d5e58e904f918d0d7ab738f403dd4939d9bc2276136864fe63710782
2017-03-07 19:30:23 +01:00
Wladimir J. van der Laan
99fecf80dc tests: Delete unused function _rpchost_to_args
This function has been unused ever since the RPC tests no longer use
`bitcoin-cli`.
2017-03-06 15:52:25 +01:00
Wladimir J. van der Laan
48c3429c50
Merge #9832: [qa] assert_start_raises_init_error
025dec0 [qa] assert_start_raises_init_error (NicolasDorier)

Tree-SHA512: 0fe3ecbd47625b181aed92f15445ac26993e1a8b9843bbc1088c4adcea774e503b870912a18e13dca3f255c22a9964c1c0ca92c758907538143f316c5272ea4a
2017-03-06 10:04:22 +01:00
NicolasDorier
025dec0e5b [qa] assert_start_raises_init_error 2017-03-06 17:21:03 +09:00
Alex Morcos
0315888d0d [test] Remove priority from tests
Remove all coin age priority functionality from unit tests and RPC tests.
2017-03-03 16:50:19 -05:00
MarcoFalke
d6064a89ac
Merge #9577: Fix docstrings in qa tests
3f95a80 Fix docstrings in qa tests (John Newbery)
2017-02-23 16:39:22 +01:00
John Newbery
3f95a806b1 Fix docstrings in qa tests
This commit fixes the module-level docstrings for the tests and helper
modules in qa. Many of these tests were uncommented previously - this
commit ensures that every test case has at least a minimum level of
commenting.
2017-02-23 10:31:04 -05:00
MarcoFalke
fa4cd2e998 qa: Check return code when stopping nodes
This includes work by jnewbery
2017-02-23 03:05:43 +01:00
Wladimir J. van der Laan
b08656e343
Merge #9715: Disconnect peers which we do not receive VERACKs from within 60 sec
66f861a Add a test for P2P inactivity timeouts (Matt Corallo)
b436f92 qa: Expose on-connection to mininode listeners (Matt Corallo)
8aaba7a qa: mininode learns when a socket connects, not its first action (Matt Corallo)
2cbd119 Disconnect peers which we do not receive VERACKs from within 60 sec (Matt Corallo)
2017-02-14 14:35:15 +01:00
Matt Corallo
b436f92f72 qa: Expose on-connection to mininode listeners 2017-02-08 12:05:13 -05:00
Matt Corallo
8aaba7a6b7 qa: mininode learns when a socket connects, not its first action 2017-02-08 12:05:13 -05:00
John Newbery
9db8eecac1 Fix RPC failure testing
Make sure that RPC tests are actually checking failures correctly by:

- Catching JSON RPC exceptions and verifying the error codes and messages.
- Failing the test case if the JSON RPC exception isn't raised.
2017-02-08 10:24:02 -05:00
Wladimir J. van der Laan
7cb024eba6
Merge #9222: Add 'subtractFeeFromAmount' option to 'fundrawtransaction'.
453bda6 Add 'subtractFeeFromOutputs' option to 'fundrawtransaction'. (Chris Moore)
2017-01-12 12:49:10 +01:00
Wladimir J. van der Laan
2ca9dcd5b9 test: Add test for RPC named arguments
Add RPC testcase for RPC named arguments.
2017-01-05 11:30:20 +01:00
Wladimir J. van der Laan
5865d41f88 authproxy: Add support for RPC named arguments 2017-01-05 11:30:20 +01:00
Chris Moore
453bda63dd Add 'subtractFeeFromOutputs' option to 'fundrawtransaction'. 2016-12-13 13:36:23 -08:00
MarcoFalke
fa2ecc48fb [qa] pruning: Use cached utxo set to run faster 2016-12-04 21:30:20 +01:00
MarcoFalke
9e4bb312e6
Merge #9221: [qa] Get rid of duplicate code
facbfa5 [qa] Get rid of duplicate code (MarcoFalke)
2016-12-02 20:17:51 +01:00
MarcoFalke
facbfa5816 [qa] Get rid of duplicate code 2016-12-02 16:32:00 +01:00
Suhas Daftuar
0828619e96 [qa] Dump debug logs on travis failures. 2016-11-30 11:35:31 -05:00
fsb4000
15fa95d7e5 Fix some typos 2016-11-28 16:16:37 +07:00
MarcoFalke
0de7fd36de
Merge #9139: Change sync_blocks to pick smarter maxheight (on top of #9196)
1126c85 [qa] Change sync_blocks to pick smarter maxheight (Russell Yanofsky)
2016-11-23 13:01:53 +01:00
BtcDrak
09dc4064ac Make test constant consistent with consensus.h 2016-11-21 21:30:53 +00:00
Wladimir J. van der Laan
0c577f2638
Merge #8872: Remove block-request logic from INV message processing
037159c Remove block-request logic from INV message processing (Matt Corallo)
3451203 [qa] Respond to getheaders and do not assume a getdata on inv (Matt Corallo)
d768f15 [qa] Make comptool push blocks instead of relying on inv-fetch (mrbandrews)
2016-11-21 15:41:32 +01:00
mrbandrews
307acdd3df [qa] add assert_raises_message to check specific error message 2016-11-15 15:37:46 -05:00
Russell Yanofsky
7943b13ab3 [qa] Avoid 2 list comprehensions in sync_blocks 2016-11-14 12:02:33 -05:00
Russell Yanofsky
05e57ccd74 [qa] Fix sync_blocks timeout argument
Motivation for this change is mainly to make sync_blocks behavior easier to
understand. Behavior is unchanged in the normal case when there are only 2
nodes in the rpc_connections set. When there are more than 2 nodes, the
previous "timeout -= wait" statement wouldn't take into account time spent
waiting for all nodes and as a result could lead to blocking for longer than
the requested timeout.
2016-11-14 12:02:31 -05:00
Russell Yanofsky
fd6bb700b7 [qa] Improve sync_blocks error messages. 2016-11-14 12:01:51 -05:00
Russell Yanofsky
1126c853d9 [qa] Change sync_blocks to pick smarter maxheight
Instead of syncing to max height returned by the waitforblockheight RPC, sync
to the max height returned by the getblockcount RPC.

This change was suggested by Suhas Daftuar <sdaftuar@chaincode.com>.
2016-11-11 15:46:14 -05:00
MarcoFalke
e5364991da
Merge #9097: [qa] Rework sync_* and preciousblock.py
fa97ccb [qa] util: Rework sync_*() (MarcoFalke)
fac1141 [qa] preciousblock: Use assert_equal and BitcoinTestFramework.__init__ (MarcoFalke)
2016-11-10 11:23:40 +01:00
Wladimir J. van der Laan
faec09bc7f
Merge #8894: [Testing] Include fRelay in mininode version messages
e5d682f Fix mininode version message format (jnewbery)
2016-11-09 22:06:57 +01:00
jnewbery
e5d682faa3 Fix mininode version message format 2016-11-09 02:34:30 +00:00
mrbandrews
d768f151f6 [qa] Make comptool push blocks instead of relying on inv-fetch 2016-11-07 17:38:22 -05:00
MarcoFalke
fae19aa1da [qa] test_framework: Exit when tmpdir exists 2016-11-07 22:55:27 +01:00
MarcoFalke
fa97ccb06d [qa] util: Rework sync_*()
* Only allow named args in sync_*()
* Make sync_* fails more verbose
* Add timeout to sync_chain()
2016-11-07 20:42:21 +01:00
MarcoFalke
1253f8692f
Merge #9077: [qa] Increase wallet-dump RPC timeout
e89614b [qa] Add more helpful RPC timeout message (Russell Yanofsky)
8463aaa [qa] Increase wallet-dump RPC timeout (Russell Yanofsky)
2016-11-07 18:31:36 +01:00
Russell Yanofsky
e89614b6ab [qa] Add more helpful RPC timeout message
Replace previous timeout('timed out',) exception with more detailed error.
2016-11-07 12:04:19 -05:00
Russell Yanofsky
8463aaa63c [qa] Increase wallet-dump RPC timeout
Increase wallet-dump RPC timeout from 30 seconds to 1 minute. This avoids a
timeout error that seemed to happen regularly (around 50% of builds) on a
particular jenkins server during the first getnewaddress RPC call made by the
test.

The failing stack trace looked like:

    Unexpected exception caught during testing: timeout('timed out',)

    File ".../bitcoin/qa/rpc-tests/test_framework/test_framework.py", line 146, in main
      self.run_test()
    File ".../bitcoin/qa/rpc-tests/wallet-dump.py", line 73, in run_test
      addr = self.nodes[0].getnewaddress()
    File ".../bitcoin/qa/rpc-tests/test_framework/coverage.py", line 49, in __call__
      return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
    File ".../bitcoin/qa/rpc-tests/test_framework/authproxy.py", line 145, in __call__
      response = self._request('POST', self.__url.path, postdata.encode('utf-8'))
    File ".../bitcoin/qa/rpc-tests/test_framework/authproxy.py", line 121, in _request
      return self._get_response()
    File ".../bitcoin/qa/rpc-tests/test_framework/authproxy.py", line 160, in _get_response
      http_response = self.__conn.getresponse()
    File "/usr/lib/python3.4/http/client.py", line 1171, in getresponse
      response.begin()
    File "/usr/lib/python3.4/http/client.py", line 351, in begin
      version, status, reason = self._read_status()
    File "/usr/lib/python3.4/http/client.py", line 313, in _read_status
      line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
    File "/usr/lib/python3.4/socket.py", line 374, in readinto
      return self._sock.recv_into(b)
2016-11-07 12:04:01 -05:00
isle2983
4b04e32c20 [copyright] copyright header style uniform
Three categories of modifications:

1)

1 instance of 'The Bitcoin Core developers \n',
1 instance of 'the Bitcoin Core developers\n',
3 instances of 'Bitcoin Core Developers\n', and
12 instances of 'The Bitcoin developers\n'

are made uniform with the 443 instances of 'The Bitcoin Core developers\n'

2)

3 instances of 'BitPay, Inc\.\n' are made uniform with the other 6
instances of 'BitPay Inc\.\n'

3)

4 instances where there was no '(c)' between the 'Copyright' and the year
where it deviates from the style of the local directory.
2016-11-06 10:12:50 -07:00
Wladimir J. van der Laan
7f71a3c591
Merge #6996: Add preciousblock RPC
5805ac8 Add preciousblock tests (Pieter Wuille)
5127c4f Add preciousblock RPC (Pieter Wuille)
2016-10-18 21:36:38 +02:00
Johnson Lau
9260085377 test segwit uncompressed key fixes 2016-10-17 00:34:37 +08:00
Johnson Lau
9f0397aff7 Make test framework produce lowS signatures 2016-10-16 23:53:35 +08:00
Suhas Daftuar
422fac649f [qa] Add support for compactblocks v2 to mininode 2016-10-04 19:10:49 +02:00