Skip to content

Commit 3f1966e

Browse files
committed
Merge #17705: test: re-enable CLI test support by using EncodeDecimal in json.dumps()
b6f9e35 test: re-enable CLI test support by using EncodeDecimal in json.dumps() (fanquake) Pull request description: As mentioned in bitcoin/bitcoin#17675 (comment). ACKs for top commit: practicalswift: ACK b6f9e35 assuming Travis is happy too -- diff looks correct :) MarcoFalke: > ACK b6f9e35 assuming Travis is happy too -- diff looks correct :) Tree-SHA512: 79fa535cc1756c8ee610a3d6a316a1c4f036797d6990a5620e44985393a2e52f78450f8e0021d0a148c08705fd1ba765508464a365f9030ae0d2cacbd7a93e19
2 parents 5948398 + b6f9e35 commit 3f1966e

14 files changed

+7
-13
lines changed

test/functional/feature_segwit.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ def set_test_params(self):
7272
"-addresstype=legacy",
7373
],
7474
]
75-
self.supports_cli = False
7675

7776
def skip_test_if_missing_module(self):
7877
self.skip_if_no_wallet()

test/functional/mempool_package_onemore.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ class MempoolPackagesTest(BitcoinTestFramework):
1919
def set_test_params(self):
2020
self.num_nodes = 1
2121
self.extra_args = [["-maxorphantx=1000"]]
22-
self.supports_cli = False
2322

2423
def skip_test_if_missing_module(self):
2524
self.skip_if_no_wallet()

test/functional/mempool_packages.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ def set_test_params(self):
2727
["-maxorphantx=1000"],
2828
["-maxorphantx=1000", "-limitancestorcount={}".format(MAX_ANCESTORS_CUSTOM)],
2929
]
30-
self.supports_cli = False
3130

3231
def skip_test_if_missing_module(self):
3332
self.skip_if_no_wallet()

test/functional/rpc_fundrawtransaction.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ def set_test_params(self):
3131
# This test isn't testing tx relay. Set whitelist on the peers for
3232
# instant tx relay.
3333
self.extra_args = [['-whitelist=127.0.0.1']] * self.num_nodes
34-
self.supports_cli = False
3534

3635
def skip_test_if_missing_module(self):
3736
self.skip_if_no_wallet()

test/functional/rpc_signrawtransaction.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ class SignRawTransactionsTest(BitcoinTestFramework):
1515
def set_test_params(self):
1616
self.setup_clean_chain = True
1717
self.num_nodes = 2
18-
self.supports_cli = False
1918

2019
def skip_test_if_missing_module(self):
2120
self.skip_if_no_wallet()

test/functional/rpc_txoutproof.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ def set_test_params(self):
1414
self.setup_clean_chain = True
1515
# Nodes 0/1 are "wallet" nodes, Nodes 2/3 are used for testing
1616
self.extra_args = [[], [], [], ["-txindex"]]
17-
self.supports_cli = False
1817

1918
def skip_test_if_missing_module(self):
2019
self.skip_if_no_wallet()

test/functional/test_framework/test_node.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
rpc_url,
3131
wait_until,
3232
p2p_port,
33+
EncodeDecimal,
3334
)
3435

3536
BITCOIND_PROC_WAIT_TIMEOUT = 60
@@ -489,7 +490,7 @@ def arg_to_cli(arg):
489490
if isinstance(arg, bool):
490491
return str(arg).lower()
491492
elif isinstance(arg, dict) or isinstance(arg, list):
492-
return json.dumps(arg)
493+
return json.dumps(arg, default=EncodeDecimal)
493494
else:
494495
return str(arg)
495496

test/functional/test_framework/util.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,11 @@ def check_json_precision():
190190
if satoshis != 2000000000000003:
191191
raise RuntimeError("JSON encode/decode loses precision")
192192

193+
def EncodeDecimal(o):
194+
if isinstance(o, Decimal):
195+
return str(o)
196+
raise TypeError(repr(o) + " is not JSON serializable")
197+
193198
def count_bytes(hex_string):
194199
return len(bytearray.fromhex(hex_string))
195200

test/functional/wallet_abandonconflict.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ class AbandonConflictTest(BitcoinTestFramework):
2626
def set_test_params(self):
2727
self.num_nodes = 2
2828
self.extra_args = [["-minrelaytxfee=0.00001"], []]
29-
self.supports_cli = False
3029

3130
def skip_test_if_missing_module(self):
3231
self.skip_if_no_wallet()

test/functional/wallet_balance.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ def set_test_params(self):
5454
['-limitdescendantcount=3'], # Limit mempool descendants as a hack to have wallet txs rejected from the mempool
5555
[],
5656
]
57-
self.supports_cli = False
5857

5958
def skip_test_if_missing_module(self):
6059
self.skip_if_no_wallet()

0 commit comments

Comments
 (0)