Skip to content

Commit b6f9e35

Browse files
committed
test: re-enable CLI test support by using EncodeDecimal in json.dumps()
As mentioned in bitcoin/bitcoin#17675 (comment)
1 parent 347dd76 commit b6f9e35

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
@@ -480,7 +481,7 @@ def arg_to_cli(arg):
480481
if isinstance(arg, bool):
481482
return str(arg).lower()
482483
elif isinstance(arg, dict) or isinstance(arg, list):
483-
return json.dumps(arg)
484+
return json.dumps(arg, default=EncodeDecimal)
484485
else:
485486
return str(arg)
486487

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)