diff --git a/test/functional/README.md b/test/functional/README.md index d6ce490ab..662b4b44d 100644 --- a/test/functional/README.md +++ b/test/functional/README.md @@ -87,7 +87,7 @@ start the networking thread. (Continue with the test logic in your existing thread.) - Can be used to write tests where specific P2P protocol behavior is tested. -Examples tests are `p2p-acceptblock.py`, `p2p-compactblocks.py`. +Examples tests are `p2p_unrequested_blocks.py`, `p2p_compactblocks.py`. #### Comptool @@ -133,7 +133,7 @@ Each `TestInstance` consists of: acceptance is tested against the given outcome. - For examples of tests written in this framework, see - `invalidblockrequest.py` and `p2p-fullblocktest.py`. + `p2p_invalid_block.py` and `feature_block.py`. ### test-framework modules diff --git a/test/functional/assumevalid.py b/test/functional/feature_assumevalid.py similarity index 100% rename from test/functional/assumevalid.py rename to test/functional/feature_assumevalid.py diff --git a/test/functional/bip68-sequence.py b/test/functional/feature_bip68_sequence.py similarity index 100% rename from test/functional/bip68-sequence.py rename to test/functional/feature_bip68_sequence.py diff --git a/test/functional/bip9-softforks.py b/test/functional/feature_bip9_softforks.py similarity index 100% rename from test/functional/bip9-softforks.py rename to test/functional/feature_bip9_softforks.py diff --git a/test/functional/p2p-fullblocktest.py b/test/functional/feature_block.py similarity index 100% rename from test/functional/p2p-fullblocktest.py rename to test/functional/feature_block.py diff --git a/test/functional/bip65-cltv-p2p.py b/test/functional/feature_cltv.py similarity index 100% rename from test/functional/bip65-cltv-p2p.py rename to test/functional/feature_cltv.py diff --git a/test/functional/conf_args.py b/test/functional/feature_config_args.py similarity index 100% rename from test/functional/conf_args.py rename to test/functional/feature_config_args.py diff --git a/test/functional/bip68-112-113-p2p.py b/test/functional/feature_csv_activation.py similarity index 100% rename from test/functional/bip68-112-113-p2p.py rename to test/functional/feature_csv_activation.py diff --git a/test/functional/dbcrash.py b/test/functional/feature_dbcrash.py similarity index 100% rename from test/functional/dbcrash.py rename to test/functional/feature_dbcrash.py diff --git a/test/functional/bipdersig-p2p.py b/test/functional/feature_dersig.py similarity index 100% rename from test/functional/bipdersig-p2p.py rename to test/functional/feature_dersig.py diff --git a/test/functional/smartfees.py b/test/functional/feature_fee_estimation.py similarity index 100% rename from test/functional/smartfees.py rename to test/functional/feature_fee_estimation.py diff --git a/test/functional/maxuploadtarget.py b/test/functional/feature_maxuploadtarget.py similarity index 100% rename from test/functional/maxuploadtarget.py rename to test/functional/feature_maxuploadtarget.py diff --git a/test/functional/minchainwork.py b/test/functional/feature_minchainwork.py similarity index 100% rename from test/functional/minchainwork.py rename to test/functional/feature_minchainwork.py diff --git a/test/functional/notifications.py b/test/functional/feature_notifications.py similarity index 100% rename from test/functional/notifications.py rename to test/functional/feature_notifications.py diff --git a/test/functional/nulldummy.py b/test/functional/feature_nulldummy.py similarity index 100% rename from test/functional/nulldummy.py rename to test/functional/feature_nulldummy.py diff --git a/test/functional/proxy_test.py b/test/functional/feature_proxy.py similarity index 100% rename from test/functional/proxy_test.py rename to test/functional/feature_proxy.py diff --git a/test/functional/pruning.py b/test/functional/feature_pruning.py similarity index 100% rename from test/functional/pruning.py rename to test/functional/feature_pruning.py diff --git a/test/functional/replace-by-fee.py b/test/functional/feature_rbf.py similarity index 100% rename from test/functional/replace-by-fee.py rename to test/functional/feature_rbf.py diff --git a/test/functional/reindex.py b/test/functional/feature_reindex.py similarity index 100% rename from test/functional/reindex.py rename to test/functional/feature_reindex.py diff --git a/test/functional/segwit.py b/test/functional/feature_segwit.py similarity index 100% rename from test/functional/segwit.py rename to test/functional/feature_segwit.py diff --git a/test/functional/uacomment.py b/test/functional/feature_uacomment.py similarity index 100% rename from test/functional/uacomment.py rename to test/functional/feature_uacomment.py diff --git a/test/functional/p2p-versionbits-warning.py b/test/functional/feature_versionbits_warning.py similarity index 100% rename from test/functional/p2p-versionbits-warning.py rename to test/functional/feature_versionbits_warning.py diff --git a/test/functional/bitcoin_cli.py b/test/functional/interface_bitcoin_cli.py similarity index 100% rename from test/functional/bitcoin_cli.py rename to test/functional/interface_bitcoin_cli.py diff --git a/test/functional/httpbasics.py b/test/functional/interface_http.py similarity index 100% rename from test/functional/httpbasics.py rename to test/functional/interface_http.py diff --git a/test/functional/rest.py b/test/functional/interface_rest.py similarity index 100% rename from test/functional/rest.py rename to test/functional/interface_rest.py diff --git a/test/functional/zmq_test.py b/test/functional/interface_zmq.py similarity index 100% rename from test/functional/zmq_test.py rename to test/functional/interface_zmq.py diff --git a/test/functional/mempool_resurrect_test.py b/test/functional/mempool_resurrect.py similarity index 100% rename from test/functional/mempool_resurrect_test.py rename to test/functional/mempool_resurrect.py diff --git a/test/functional/mempool_spendcoinbase.py b/test/functional/mempool_spend_coinbase.py similarity index 100% rename from test/functional/mempool_spendcoinbase.py rename to test/functional/mempool_spend_coinbase.py diff --git a/test/functional/mining.py b/test/functional/mining_basic.py similarity index 100% rename from test/functional/mining.py rename to test/functional/mining_basic.py diff --git a/test/functional/getblocktemplate_longpoll.py b/test/functional/mining_getblocktemplate_longpoll.py similarity index 100% rename from test/functional/getblocktemplate_longpoll.py rename to test/functional/mining_getblocktemplate_longpoll.py diff --git a/test/functional/prioritise_transaction.py b/test/functional/mining_prioritisetransaction.py similarity index 100% rename from test/functional/prioritise_transaction.py rename to test/functional/mining_prioritisetransaction.py diff --git a/test/functional/p2p-compactblocks.py b/test/functional/p2p_compactblocks.py similarity index 100% rename from test/functional/p2p-compactblocks.py rename to test/functional/p2p_compactblocks.py diff --git a/test/functional/disconnect_ban.py b/test/functional/p2p_disconnect_ban.py similarity index 100% rename from test/functional/disconnect_ban.py rename to test/functional/p2p_disconnect_ban.py diff --git a/test/functional/p2p-feefilter.py b/test/functional/p2p_feefilter.py similarity index 100% rename from test/functional/p2p-feefilter.py rename to test/functional/p2p_feefilter.py diff --git a/test/functional/p2p-fingerprint.py b/test/functional/p2p_fingerprint.py similarity index 100% rename from test/functional/p2p-fingerprint.py rename to test/functional/p2p_fingerprint.py diff --git a/test/functional/invalidblockrequest.py b/test/functional/p2p_invalid_block.py similarity index 100% rename from test/functional/invalidblockrequest.py rename to test/functional/p2p_invalid_block.py diff --git a/test/functional/invalidtxrequest.py b/test/functional/p2p_invalid_tx.py similarity index 100% rename from test/functional/invalidtxrequest.py rename to test/functional/p2p_invalid_tx.py diff --git a/test/functional/p2p-leaktests.py b/test/functional/p2p_leak.py similarity index 100% rename from test/functional/p2p-leaktests.py rename to test/functional/p2p_leak.py diff --git a/test/functional/p2p-mempool.py b/test/functional/p2p_mempool.py similarity index 100% rename from test/functional/p2p-mempool.py rename to test/functional/p2p_mempool.py diff --git a/test/functional/node_network_limited.py b/test/functional/p2p_node_network_limited.py similarity index 100% rename from test/functional/node_network_limited.py rename to test/functional/p2p_node_network_limited.py diff --git a/test/functional/p2p-segwit.py b/test/functional/p2p_segwit.py similarity index 100% rename from test/functional/p2p-segwit.py rename to test/functional/p2p_segwit.py diff --git a/test/functional/sendheaders.py b/test/functional/p2p_sendheaders.py similarity index 100% rename from test/functional/sendheaders.py rename to test/functional/p2p_sendheaders.py diff --git a/test/functional/p2p-timeouts.py b/test/functional/p2p_timeouts.py similarity index 100% rename from test/functional/p2p-timeouts.py rename to test/functional/p2p_timeouts.py diff --git a/test/functional/p2p-acceptblock.py b/test/functional/p2p_unrequested_blocks.py similarity index 100% rename from test/functional/p2p-acceptblock.py rename to test/functional/p2p_unrequested_blocks.py diff --git a/test/functional/rpcbind_test.py b/test/functional/rpc_bind.py similarity index 100% rename from test/functional/rpcbind_test.py rename to test/functional/rpc_bind.py diff --git a/test/functional/blockchain.py b/test/functional/rpc_blockchain.py similarity index 100% rename from test/functional/blockchain.py rename to test/functional/rpc_blockchain.py diff --git a/test/functional/decodescript.py b/test/functional/rpc_decodescript.py similarity index 100% rename from test/functional/decodescript.py rename to test/functional/rpc_decodescript.py diff --git a/test/functional/deprecated_rpc.py b/test/functional/rpc_deprecated.py similarity index 100% rename from test/functional/deprecated_rpc.py rename to test/functional/rpc_deprecated.py diff --git a/test/functional/fundrawtransaction.py b/test/functional/rpc_fundrawtransaction.py similarity index 100% rename from test/functional/fundrawtransaction.py rename to test/functional/rpc_fundrawtransaction.py diff --git a/test/functional/getchaintips.py b/test/functional/rpc_getchaintips.py similarity index 100% rename from test/functional/getchaintips.py rename to test/functional/rpc_getchaintips.py diff --git a/test/functional/invalidateblock.py b/test/functional/rpc_invalidateblock.py similarity index 100% rename from test/functional/invalidateblock.py rename to test/functional/rpc_invalidateblock.py diff --git a/test/functional/listtransactions.py b/test/functional/rpc_listtransactions.py similarity index 100% rename from test/functional/listtransactions.py rename to test/functional/rpc_listtransactions.py diff --git a/test/functional/rpcnamedargs.py b/test/functional/rpc_named_arguments.py similarity index 100% rename from test/functional/rpcnamedargs.py rename to test/functional/rpc_named_arguments.py diff --git a/test/functional/net.py b/test/functional/rpc_net.py similarity index 100% rename from test/functional/net.py rename to test/functional/rpc_net.py diff --git a/test/functional/preciousblock.py b/test/functional/rpc_preciousblock.py similarity index 100% rename from test/functional/preciousblock.py rename to test/functional/rpc_preciousblock.py diff --git a/test/functional/rawtransactions.py b/test/functional/rpc_rawtransaction.py similarity index 100% rename from test/functional/rawtransactions.py rename to test/functional/rpc_rawtransaction.py diff --git a/test/functional/signmessages.py b/test/functional/rpc_signmessage.py similarity index 100% rename from test/functional/signmessages.py rename to test/functional/rpc_signmessage.py diff --git a/test/functional/signrawtransactions.py b/test/functional/rpc_signrawtransaction.py similarity index 100% rename from test/functional/signrawtransactions.py rename to test/functional/rpc_signrawtransaction.py diff --git a/test/functional/merkle_blocks.py b/test/functional/rpc_txoutproof.py similarity index 100% rename from test/functional/merkle_blocks.py rename to test/functional/rpc_txoutproof.py diff --git a/test/functional/uptime.py b/test/functional/rpc_uptime.py similarity index 100% rename from test/functional/uptime.py rename to test/functional/rpc_uptime.py diff --git a/test/functional/multi_rpc.py b/test/functional/rpc_users.py similarity index 100% rename from test/functional/multi_rpc.py rename to test/functional/rpc_users.py diff --git a/test/functional/test_runner.py b/test/functional/test_runner.py index b8b6ee98b..98944685e 100755 --- a/test/functional/test_runner.py +++ b/test/functional/test_runner.py @@ -55,84 +55,84 @@ TEST_EXIT_SKIPPED = 77 BASE_SCRIPTS= [ # Scripts that are run by the travis build process. # Longest test should go first, to favor running tests in parallel - 'wallet-hd.py', - 'walletbackup.py', + 'wallet_hd.py', + 'wallet_backup.py', # vv Tests less than 5m vv - 'p2p-fullblocktest.py', - 'fundrawtransaction.py', - 'p2p-compactblocks.py', - 'segwit.py', + 'feature_block.py', + 'rpc_fundrawtransaction.py', + 'p2p_compactblocks.py', + 'feature_segwit.py', # vv Tests less than 2m vv - 'wallet.py', - 'wallet-accounts.py', - 'p2p-segwit.py', - 'wallet-dump.py', - 'listtransactions.py', + 'wallet_basic.py', + 'wallet_accounts.py', + 'p2p_segwit.py', + 'wallet_dump.py', + 'rpc_listtransactions.py', # vv Tests less than 60s vv - 'sendheaders.py', - 'zapwallettxes.py', - 'importmulti.py', + 'p2p_sendheaders.py', + 'wallet_zapwallettxes.py', + 'wallet_importmulti.py', 'mempool_limit.py', - 'merkle_blocks.py', - 'receivedby.py', - 'abandonconflict.py', - 'bip68-112-113-p2p.py', - 'rawtransactions.py', - 'address_types.py', - 'reindex.py', + 'rpc_txoutproof.py', + 'wallet_listreceivedby.py', + 'wallet_abandonconflict.py', + 'feature_csv_activation.py', + 'rpc_rawtransaction.py', + 'wallet_address_types.py', + 'feature_reindex.py', # vv Tests less than 30s vv - 'keypool-topup.py', - 'zmq_test.py', - 'bitcoin_cli.py', - 'mempool_resurrect_test.py', - 'txn_doublespend.py --mineblock', - 'txn_clone.py', - 'txn_clone.py --segwit', - 'getchaintips.py', - 'rest.py', - 'mempool_spendcoinbase.py', + 'wallet_keypool_topup.py', + 'interface_zmq.py', + 'interface_bitcoin_cli.py', + 'mempool_resurrect.py', + 'wallet_txn_doublespend.py --mineblock', + 'wallet_txn_clone.py', + 'wallet_txn_clone.py --segwit', + 'rpc_getchaintips.py', + 'interface_rest.py', + 'mempool_spend_coinbase.py', 'mempool_reorg.py', 'mempool_persist.py', - 'multiwallet.py', - 'multiwallet.py --usecli', - 'httpbasics.py', - 'multi_rpc.py', - 'proxy_test.py', - 'signrawtransactions.py', - 'disconnect_ban.py', - 'decodescript.py', - 'blockchain.py', - 'deprecated_rpc.py', - 'disablewallet.py', - 'net.py', - 'keypool.py', - 'p2p-mempool.py', - 'prioritise_transaction.py', - 'invalidblockrequest.py', - 'invalidtxrequest.py', - 'p2p-versionbits-warning.py', - 'preciousblock.py', - 'importprunedfunds.py', - 'signmessages.py', - 'nulldummy.py', - 'import-rescan.py', - 'mining.py', - 'bumpfee.py', - 'rpcnamedargs.py', - 'listsinceblock.py', - 'p2p-leaktests.py', - 'wallet-encryption.py', - 'bipdersig-p2p.py', - 'bip65-cltv-p2p.py', - 'uptime.py', - 'resendwallettransactions.py', - 'minchainwork.py', - 'p2p-fingerprint.py', - 'uacomment.py', - 'p2p-acceptblock.py', + 'wallet_multiwallet.py', + 'wallet_multiwallet.py --usecli', + 'interface_http.py', + 'rpc_users.py', + 'feature_proxy.py', + 'rpc_signrawtransaction.py', + 'p2p_disconnect_ban.py', + 'rpc_decodescript.py', + 'rpc_blockchain.py', + 'rpc_deprecated.py', + 'wallet_disable.py', + 'rpc_net.py', + 'wallet_keypool.py', + 'p2p_mempool.py', + 'mining_prioritisetransaction.py', + 'p2p_invalid_block.py', + 'p2p_invalid_tx.py', + 'feature_versionbits_warning.py', + 'rpc_preciousblock.py', + 'wallet_importprunedfunds.py', + 'rpc_signmessage.py', + 'feature_nulldummy.py', + 'wallet_import_rescan.py', + 'mining_basic.py', + 'wallet_bumpfee.py', + 'rpc_named_arguments.py', + 'wallet_listsinceblock.py', + 'p2p_leak.py', + 'wallet_encryption.py', + 'feature_dersig.py', + 'feature_cltv.py', + 'rpc_uptime.py', + 'wallet_resendwallettransactions.py', + 'feature_minchainwork.py', + 'p2p_fingerprint.py', + 'feature_uacomment.py', + 'p2p_unrequested_blocks.py', 'feature_logging.py', - 'node_network_limited.py', - 'conf_args.py', + 'p2p_node_network_limited.py', + 'feature_config_args.py', # Don't append tests at the end to avoid merge conflicts # Put them in a random line within the section that fits their approximate run-time ] @@ -140,29 +140,29 @@ BASE_SCRIPTS= [ EXTENDED_SCRIPTS = [ # These tests are not run by the travis build process. # Longest test should go first, to favor running tests in parallel - 'pruning.py', + 'feature_pruning.py', # vv Tests less than 20m vv - 'smartfees.py', + 'feature_fee_estimation.py', # vv Tests less than 5m vv - 'maxuploadtarget.py', + 'feature_maxuploadtarget.py', 'mempool_packages.py', - 'dbcrash.py', + 'feature_dbcrash.py', # vv Tests less than 2m vv - 'bip68-sequence.py', - 'getblocktemplate_longpoll.py', - 'p2p-timeouts.py', + 'feature_bip68_sequence.py', + 'mining_getblocktemplate_longpoll.py', + 'p2p_timeouts.py', # vv Tests less than 60s vv - 'bip9-softforks.py', - 'p2p-feefilter.py', - 'rpcbind_test.py', + 'feature_bip9_softforks.py', + 'p2p_feefilter.py', + 'rpc_bind.py', # vv Tests less than 30s vv - 'assumevalid.py', + 'feature_assumevalid.py', 'example_test.py', - 'txn_doublespend.py', - 'txn_clone.py --mineblock', - 'notifications.py', - 'invalidateblock.py', - 'replace-by-fee.py', + 'wallet_txn_doublespend.py', + 'wallet_txn_clone.py --mineblock', + 'feature_notifications.py', + 'rpc_invalidateblock.py', + 'feature_rbf.py', ] # Place EXTENDED_SCRIPTS first since it has the 3 longest running tests @@ -472,9 +472,8 @@ class TestResult(): def check_script_prefixes(): - """Check that no more than `EXPECTED_VIOLATION_COUNT` of the + """Check that at most a handful of the test scripts don't start with one of the allowed name prefixes.""" - EXPECTED_VIOLATION_COUNT = 77 # LEEWAY is provided as a transition measure, so that pull-requests # that introduce new tests that don't conform with the naming @@ -484,13 +483,10 @@ def check_script_prefixes(): good_prefixes_re = re.compile("(example|feature|interface|mempool|mining|p2p|rpc|wallet)_") bad_script_names = [script for script in ALL_SCRIPTS if good_prefixes_re.match(script) is None] - if len(bad_script_names) < EXPECTED_VIOLATION_COUNT: - print("{}HURRAY!{} Number of functional tests violating naming convention reduced!".format(BOLD[1], BOLD[0])) - print("Consider reducing EXPECTED_VIOLATION_COUNT from %d to %d" % (EXPECTED_VIOLATION_COUNT, len(bad_script_names))) - elif len(bad_script_names) > EXPECTED_VIOLATION_COUNT: - print("INFO: %d tests not meeting naming conventions (expected %d):" % (len(bad_script_names), EXPECTED_VIOLATION_COUNT)) + if len(bad_script_names) > 0: + print("INFO: %d tests not meeting naming conventions:" % (len(bad_script_names))) print(" %s" % ("\n ".join(sorted(bad_script_names)))) - assert len(bad_script_names) <= EXPECTED_VIOLATION_COUNT + LEEWAY, "Too many tests not following naming convention! (%d found, expected: <= %d)" % (len(bad_script_names), EXPECTED_VIOLATION_COUNT) + assert len(bad_script_names) <= LEEWAY, "Too many tests not following naming convention! (%d found, maximum: %d)" % (len(bad_script_names), LEEWAY) def check_script_list(src_dir): diff --git a/test/functional/abandonconflict.py b/test/functional/wallet_abandonconflict.py similarity index 100% rename from test/functional/abandonconflict.py rename to test/functional/wallet_abandonconflict.py diff --git a/test/functional/wallet-accounts.py b/test/functional/wallet_accounts.py similarity index 100% rename from test/functional/wallet-accounts.py rename to test/functional/wallet_accounts.py diff --git a/test/functional/address_types.py b/test/functional/wallet_address_types.py similarity index 100% rename from test/functional/address_types.py rename to test/functional/wallet_address_types.py diff --git a/test/functional/walletbackup.py b/test/functional/wallet_backup.py similarity index 100% rename from test/functional/walletbackup.py rename to test/functional/wallet_backup.py diff --git a/test/functional/wallet.py b/test/functional/wallet_basic.py similarity index 100% rename from test/functional/wallet.py rename to test/functional/wallet_basic.py diff --git a/test/functional/bumpfee.py b/test/functional/wallet_bumpfee.py similarity index 100% rename from test/functional/bumpfee.py rename to test/functional/wallet_bumpfee.py diff --git a/test/functional/disablewallet.py b/test/functional/wallet_disable.py similarity index 100% rename from test/functional/disablewallet.py rename to test/functional/wallet_disable.py diff --git a/test/functional/wallet-dump.py b/test/functional/wallet_dump.py similarity index 100% rename from test/functional/wallet-dump.py rename to test/functional/wallet_dump.py diff --git a/test/functional/wallet-encryption.py b/test/functional/wallet_encryption.py similarity index 100% rename from test/functional/wallet-encryption.py rename to test/functional/wallet_encryption.py diff --git a/test/functional/wallet-hd.py b/test/functional/wallet_hd.py similarity index 100% rename from test/functional/wallet-hd.py rename to test/functional/wallet_hd.py diff --git a/test/functional/import-rescan.py b/test/functional/wallet_import_rescan.py similarity index 100% rename from test/functional/import-rescan.py rename to test/functional/wallet_import_rescan.py diff --git a/test/functional/importmulti.py b/test/functional/wallet_importmulti.py similarity index 100% rename from test/functional/importmulti.py rename to test/functional/wallet_importmulti.py diff --git a/test/functional/importprunedfunds.py b/test/functional/wallet_importprunedfunds.py similarity index 100% rename from test/functional/importprunedfunds.py rename to test/functional/wallet_importprunedfunds.py diff --git a/test/functional/keypool.py b/test/functional/wallet_keypool.py similarity index 100% rename from test/functional/keypool.py rename to test/functional/wallet_keypool.py diff --git a/test/functional/keypool-topup.py b/test/functional/wallet_keypool_topup.py similarity index 100% rename from test/functional/keypool-topup.py rename to test/functional/wallet_keypool_topup.py diff --git a/test/functional/receivedby.py b/test/functional/wallet_listreceivedby.py similarity index 100% rename from test/functional/receivedby.py rename to test/functional/wallet_listreceivedby.py diff --git a/test/functional/listsinceblock.py b/test/functional/wallet_listsinceblock.py similarity index 100% rename from test/functional/listsinceblock.py rename to test/functional/wallet_listsinceblock.py diff --git a/test/functional/multiwallet.py b/test/functional/wallet_multiwallet.py similarity index 100% rename from test/functional/multiwallet.py rename to test/functional/wallet_multiwallet.py diff --git a/test/functional/resendwallettransactions.py b/test/functional/wallet_resendwallettransactions.py similarity index 100% rename from test/functional/resendwallettransactions.py rename to test/functional/wallet_resendwallettransactions.py diff --git a/test/functional/txn_clone.py b/test/functional/wallet_txn_clone.py similarity index 100% rename from test/functional/txn_clone.py rename to test/functional/wallet_txn_clone.py diff --git a/test/functional/txn_doublespend.py b/test/functional/wallet_txn_doublespend.py similarity index 100% rename from test/functional/txn_doublespend.py rename to test/functional/wallet_txn_doublespend.py diff --git a/test/functional/zapwallettxes.py b/test/functional/wallet_zapwallettxes.py similarity index 100% rename from test/functional/zapwallettxes.py rename to test/functional/wallet_zapwallettxes.py