Merge #16493: test: Fix test failures

fa36aa4922 Test: Set -acceptnonstdtxn in feature_fee_estimation (MarcoFalke)
fa1bb53b0d test: Add -acceptnonstdtxn to self.extra_args[3] (MarcoFalke)
fa8a823169 test: Bump rpc_timeout in feature_dbcrash (MarcoFalke)

Pull request description:

  in feature_dbcrash:

  * Fixes #16488
  * Fixes #16498

  in feature_fee_estimation:

  * Fixes #16518

ACKs for top commit:
  fanquake:
    ACK fa36aa4922

Tree-SHA512: 9e79a6f954998b196e2a7452f72d2ecf7a6b7f61be610033038e2e40f2feba53e0ee242c7e3cdd94051811e8c96f8ab8031141710da29137fc3acea07cb2dc73
This commit is contained in:
MarcoFalke 2019-08-02 08:17:23 -04:00
commit 9f54e9ab90
No known key found for this signature in database
GPG Key ID: D2EA4850E7528B25
2 changed files with 24 additions and 8 deletions

View File

@ -30,17 +30,27 @@ import http.client
import random import random
import time import time
from test_framework.messages import COIN, COutPoint, CTransaction, CTxIn, CTxOut, ToHex from test_framework.messages import (
COIN,
COutPoint,
CTransaction,
CTxIn,
CTxOut,
ToHex,
)
from test_framework.test_framework import BitcoinTestFramework from test_framework.test_framework import BitcoinTestFramework
from test_framework.util import assert_equal, create_confirmed_utxos, hex_str_to_bytes from test_framework.util import (
assert_equal,
create_confirmed_utxos,
hex_str_to_bytes,
)
class ChainstateWriteCrashTest(BitcoinTestFramework): class ChainstateWriteCrashTest(BitcoinTestFramework):
def set_test_params(self): def set_test_params(self):
self.num_nodes = 4 self.num_nodes = 4
self.setup_clean_chain = False self.setup_clean_chain = False
# Need a bit of extra time for the nodes to start up for this test self.rpc_timeout = 180
self.rpc_timeout = 90
# Set -maxmempool=0 to turn off mempool memory sharing with dbcache # Set -maxmempool=0 to turn off mempool memory sharing with dbcache
# Set -rpcservertimeout=900 to reduce socket disconnects in this # Set -rpcservertimeout=900 to reduce socket disconnects in this
@ -54,7 +64,8 @@ class ChainstateWriteCrashTest(BitcoinTestFramework):
self.node2_args = ["-dbcrashratio=24", "-dbcache=16"] + self.base_args self.node2_args = ["-dbcrashratio=24", "-dbcache=16"] + self.base_args
# Node3 is a normal node with default args, except will mine full blocks # Node3 is a normal node with default args, except will mine full blocks
self.node3_args = ["-blockmaxweight=4000000"] # and non-standard txs (e.g. txs with "dust" outputs)
self.node3_args = ["-blockmaxweight=4000000", "-acceptnonstdtxn"]
self.extra_args = [self.node0_args, self.node1_args, self.node2_args, self.node3_args] self.extra_args = [self.node0_args, self.node1_args, self.node2_args, self.node3_args]
def skip_test_if_missing_module(self): def skip_test_if_missing_module(self):

View File

@ -120,9 +120,16 @@ def check_estimates(node, fees_seen):
else: else:
assert_greater_than_or_equal(i + 1, e["blocks"]) assert_greater_than_or_equal(i + 1, e["blocks"])
class EstimateFeeTest(BitcoinTestFramework): class EstimateFeeTest(BitcoinTestFramework):
def set_test_params(self): def set_test_params(self):
self.num_nodes = 3 self.num_nodes = 3
# mine non-standard txs (e.g. txs with "dust" outputs)
self.extra_args = [
["-acceptnonstdtxn", "-maxorphantx=1000", "-whitelist=127.0.0.1"],
["-acceptnonstdtxn", "-blockmaxweight=68000", "-maxorphantx=1000"],
["-acceptnonstdtxn", "-blockmaxweight=32000", "-maxorphantx=1000"],
]
def skip_test_if_missing_module(self): def skip_test_if_missing_module(self):
self.skip_if_no_wallet() self.skip_if_no_wallet()
@ -133,9 +140,7 @@ class EstimateFeeTest(BitcoinTestFramework):
But first we need to use one node to create a lot of outputs But first we need to use one node to create a lot of outputs
which we will use to generate our transactions. which we will use to generate our transactions.
""" """
self.add_nodes(3, extra_args=[["-maxorphantx=1000", "-whitelist=127.0.0.1"], self.add_nodes(3, extra_args=self.extra_args)
["-blockmaxweight=68000", "-maxorphantx=1000"],
["-blockmaxweight=32000", "-maxorphantx=1000"]])
# Use node0 to mine blocks for input splitting # Use node0 to mine blocks for input splitting
# Node1 mines small blocks but that are bigger than the expected transaction rate. # Node1 mines small blocks but that are bigger than the expected transaction rate.
# NOTE: the CreateNewBlock code starts counting block weight at 4,000 weight, # NOTE: the CreateNewBlock code starts counting block weight at 4,000 weight,