From 00902c48cdc5d6a531abfd279fd8e7779cf0a0b8 Mon Sep 17 00:00:00 2001 From: John Newbery Date: Wed, 8 Mar 2017 15:56:30 -0500 Subject: [PATCH] Rename qa directory to test --- Makefile.am | 8 ++++---- README.md | 4 ++-- configure.ac | 8 ++++---- contrib/devtools/copyright_header.py | 2 +- contrib/rpm/bitcoin.spec | 2 +- doc/developer-notes.md | 4 ++-- {qa => test}/README.md | 16 ++++++++-------- {qa => test}/pull-tester/rpc-tests.py | 14 +++++++------- {qa => test}/pull-tester/tests_config.ini.in | 0 {qa => test}/rpc-tests/.gitignore | 0 {qa => test}/rpc-tests/README.md | 0 {qa => test}/rpc-tests/abandonconflict.py | 0 {qa => test}/rpc-tests/assumevalid.py | 0 {qa => test}/rpc-tests/bip65-cltv-p2p.py | 0 {qa => test}/rpc-tests/bip65-cltv.py | 0 {qa => test}/rpc-tests/bip68-112-113-p2p.py | 0 {qa => test}/rpc-tests/bip68-sequence.py | 0 {qa => test}/rpc-tests/bip9-softforks.py | 0 {qa => test}/rpc-tests/bipdersig-p2p.py | 0 {qa => test}/rpc-tests/bipdersig.py | 0 {qa => test}/rpc-tests/blockchain.py | 0 {qa => test}/rpc-tests/bumpfee.py | 0 {qa => test}/rpc-tests/create_cache.py | 0 {qa => test}/rpc-tests/decodescript.py | 0 {qa => test}/rpc-tests/disablewallet.py | 0 {qa => test}/rpc-tests/forknotify.py | 0 {qa => test}/rpc-tests/fundrawtransaction.py | 0 .../rpc-tests/getblocktemplate_longpoll.py | 0 .../rpc-tests/getblocktemplate_proposals.py | 0 {qa => test}/rpc-tests/getchaintips.py | 0 {qa => test}/rpc-tests/httpbasics.py | 0 {qa => test}/rpc-tests/import-rescan.py | 0 {qa => test}/rpc-tests/importmulti.py | 0 {qa => test}/rpc-tests/importprunedfunds.py | 0 {qa => test}/rpc-tests/invalidateblock.py | 0 {qa => test}/rpc-tests/invalidblockrequest.py | 0 {qa => test}/rpc-tests/invalidtxrequest.py | 0 {qa => test}/rpc-tests/keypool.py | 0 {qa => test}/rpc-tests/listsinceblock.py | 0 {qa => test}/rpc-tests/listtransactions.py | 0 {qa => test}/rpc-tests/maxblocksinflight.py | 0 {qa => test}/rpc-tests/maxuploadtarget.py | 0 {qa => test}/rpc-tests/mempool_limit.py | 0 {qa => test}/rpc-tests/mempool_packages.py | 0 {qa => test}/rpc-tests/mempool_reorg.py | 0 {qa => test}/rpc-tests/mempool_resurrect_test.py | 0 {qa => test}/rpc-tests/mempool_spendcoinbase.py | 0 {qa => test}/rpc-tests/merkle_blocks.py | 0 {qa => test}/rpc-tests/multi_rpc.py | 0 {qa => test}/rpc-tests/nodehandling.py | 0 {qa => test}/rpc-tests/nulldummy.py | 0 {qa => test}/rpc-tests/p2p-acceptblock.py | 0 {qa => test}/rpc-tests/p2p-compactblocks.py | 0 {qa => test}/rpc-tests/p2p-feefilter.py | 0 {qa => test}/rpc-tests/p2p-fullblocktest.py | 0 {qa => test}/rpc-tests/p2p-leaktests.py | 0 {qa => test}/rpc-tests/p2p-mempool.py | 0 {qa => test}/rpc-tests/p2p-segwit.py | 0 {qa => test}/rpc-tests/p2p-timeouts.py | 0 .../rpc-tests/p2p-versionbits-warning.py | 0 {qa => test}/rpc-tests/preciousblock.py | 0 {qa => test}/rpc-tests/prioritise_transaction.py | 0 {qa => test}/rpc-tests/proxy_test.py | 0 {qa => test}/rpc-tests/pruning.py | 0 {qa => test}/rpc-tests/rawtransactions.py | 0 {qa => test}/rpc-tests/receivedby.py | 0 {qa => test}/rpc-tests/reindex.py | 0 {qa => test}/rpc-tests/replace-by-fee.py | 0 {qa => test}/rpc-tests/rest.py | 0 {qa => test}/rpc-tests/rpcbind_test.py | 0 {qa => test}/rpc-tests/rpcnamedargs.py | 0 {qa => test}/rpc-tests/segwit.py | 0 {qa => test}/rpc-tests/sendheaders.py | 0 {qa => test}/rpc-tests/signmessages.py | 0 {qa => test}/rpc-tests/signrawtransactions.py | 0 {qa => test}/rpc-tests/smartfees.py | 0 .../rpc-tests/test_framework/__init__.py | 0 {qa => test}/rpc-tests/test_framework/address.py | 0 .../rpc-tests/test_framework/authproxy.py | 0 {qa => test}/rpc-tests/test_framework/bignum.py | 0 .../rpc-tests/test_framework/blockstore.py | 0 .../rpc-tests/test_framework/blocktools.py | 0 .../rpc-tests/test_framework/comptool.py | 0 .../rpc-tests/test_framework/coverage.py | 0 {qa => test}/rpc-tests/test_framework/key.py | 0 .../rpc-tests/test_framework/mininode.py | 0 {qa => test}/rpc-tests/test_framework/netutil.py | 0 {qa => test}/rpc-tests/test_framework/script.py | 0 {qa => test}/rpc-tests/test_framework/siphash.py | 0 {qa => test}/rpc-tests/test_framework/socks5.py | 0 .../rpc-tests/test_framework/test_framework.py | 0 {qa => test}/rpc-tests/test_framework/util.py | 0 {qa => test}/rpc-tests/txn_clone.py | 0 {qa => test}/rpc-tests/txn_doublespend.py | 0 {qa => test}/rpc-tests/wallet-accounts.py | 0 {qa => test}/rpc-tests/wallet-dump.py | 0 {qa => test}/rpc-tests/wallet-hd.py | 0 {qa => test}/rpc-tests/wallet.py | 0 {qa => test}/rpc-tests/walletbackup.py | 0 {qa => test}/rpc-tests/zapwallettxes.py | 0 {qa => test}/rpc-tests/zmq_test.py | 0 101 files changed, 29 insertions(+), 29 deletions(-) rename {qa => test}/README.md (82%) rename {qa => test}/pull-tester/rpc-tests.py (97%) rename {qa => test}/pull-tester/tests_config.ini.in (100%) rename {qa => test}/rpc-tests/.gitignore (100%) rename {qa => test}/rpc-tests/README.md (100%) rename {qa => test}/rpc-tests/abandonconflict.py (100%) rename {qa => test}/rpc-tests/assumevalid.py (100%) rename {qa => test}/rpc-tests/bip65-cltv-p2p.py (100%) rename {qa => test}/rpc-tests/bip65-cltv.py (100%) rename {qa => test}/rpc-tests/bip68-112-113-p2p.py (100%) rename {qa => test}/rpc-tests/bip68-sequence.py (100%) rename {qa => test}/rpc-tests/bip9-softforks.py (100%) rename {qa => test}/rpc-tests/bipdersig-p2p.py (100%) rename {qa => test}/rpc-tests/bipdersig.py (100%) rename {qa => test}/rpc-tests/blockchain.py (100%) rename {qa => test}/rpc-tests/bumpfee.py (100%) rename {qa => test}/rpc-tests/create_cache.py (100%) rename {qa => test}/rpc-tests/decodescript.py (100%) rename {qa => test}/rpc-tests/disablewallet.py (100%) rename {qa => test}/rpc-tests/forknotify.py (100%) rename {qa => test}/rpc-tests/fundrawtransaction.py (100%) rename {qa => test}/rpc-tests/getblocktemplate_longpoll.py (100%) rename {qa => test}/rpc-tests/getblocktemplate_proposals.py (100%) rename {qa => test}/rpc-tests/getchaintips.py (100%) rename {qa => test}/rpc-tests/httpbasics.py (100%) rename {qa => test}/rpc-tests/import-rescan.py (100%) rename {qa => test}/rpc-tests/importmulti.py (100%) rename {qa => test}/rpc-tests/importprunedfunds.py (100%) rename {qa => test}/rpc-tests/invalidateblock.py (100%) rename {qa => test}/rpc-tests/invalidblockrequest.py (100%) rename {qa => test}/rpc-tests/invalidtxrequest.py (100%) rename {qa => test}/rpc-tests/keypool.py (100%) rename {qa => test}/rpc-tests/listsinceblock.py (100%) rename {qa => test}/rpc-tests/listtransactions.py (100%) rename {qa => test}/rpc-tests/maxblocksinflight.py (100%) rename {qa => test}/rpc-tests/maxuploadtarget.py (100%) rename {qa => test}/rpc-tests/mempool_limit.py (100%) rename {qa => test}/rpc-tests/mempool_packages.py (100%) rename {qa => test}/rpc-tests/mempool_reorg.py (100%) rename {qa => test}/rpc-tests/mempool_resurrect_test.py (100%) rename {qa => test}/rpc-tests/mempool_spendcoinbase.py (100%) rename {qa => test}/rpc-tests/merkle_blocks.py (100%) rename {qa => test}/rpc-tests/multi_rpc.py (100%) rename {qa => test}/rpc-tests/nodehandling.py (100%) rename {qa => test}/rpc-tests/nulldummy.py (100%) rename {qa => test}/rpc-tests/p2p-acceptblock.py (100%) rename {qa => test}/rpc-tests/p2p-compactblocks.py (100%) rename {qa => test}/rpc-tests/p2p-feefilter.py (100%) rename {qa => test}/rpc-tests/p2p-fullblocktest.py (100%) rename {qa => test}/rpc-tests/p2p-leaktests.py (100%) rename {qa => test}/rpc-tests/p2p-mempool.py (100%) rename {qa => test}/rpc-tests/p2p-segwit.py (100%) rename {qa => test}/rpc-tests/p2p-timeouts.py (100%) rename {qa => test}/rpc-tests/p2p-versionbits-warning.py (100%) rename {qa => test}/rpc-tests/preciousblock.py (100%) rename {qa => test}/rpc-tests/prioritise_transaction.py (100%) rename {qa => test}/rpc-tests/proxy_test.py (100%) rename {qa => test}/rpc-tests/pruning.py (100%) rename {qa => test}/rpc-tests/rawtransactions.py (100%) rename {qa => test}/rpc-tests/receivedby.py (100%) rename {qa => test}/rpc-tests/reindex.py (100%) rename {qa => test}/rpc-tests/replace-by-fee.py (100%) rename {qa => test}/rpc-tests/rest.py (100%) rename {qa => test}/rpc-tests/rpcbind_test.py (100%) rename {qa => test}/rpc-tests/rpcnamedargs.py (100%) rename {qa => test}/rpc-tests/segwit.py (100%) rename {qa => test}/rpc-tests/sendheaders.py (100%) rename {qa => test}/rpc-tests/signmessages.py (100%) rename {qa => test}/rpc-tests/signrawtransactions.py (100%) rename {qa => test}/rpc-tests/smartfees.py (100%) rename {qa => test}/rpc-tests/test_framework/__init__.py (100%) rename {qa => test}/rpc-tests/test_framework/address.py (100%) rename {qa => test}/rpc-tests/test_framework/authproxy.py (100%) rename {qa => test}/rpc-tests/test_framework/bignum.py (100%) rename {qa => test}/rpc-tests/test_framework/blockstore.py (100%) rename {qa => test}/rpc-tests/test_framework/blocktools.py (100%) rename {qa => test}/rpc-tests/test_framework/comptool.py (100%) rename {qa => test}/rpc-tests/test_framework/coverage.py (100%) rename {qa => test}/rpc-tests/test_framework/key.py (100%) rename {qa => test}/rpc-tests/test_framework/mininode.py (100%) rename {qa => test}/rpc-tests/test_framework/netutil.py (100%) rename {qa => test}/rpc-tests/test_framework/script.py (100%) rename {qa => test}/rpc-tests/test_framework/siphash.py (100%) rename {qa => test}/rpc-tests/test_framework/socks5.py (100%) rename {qa => test}/rpc-tests/test_framework/test_framework.py (100%) rename {qa => test}/rpc-tests/test_framework/util.py (100%) rename {qa => test}/rpc-tests/txn_clone.py (100%) rename {qa => test}/rpc-tests/txn_doublespend.py (100%) rename {qa => test}/rpc-tests/wallet-accounts.py (100%) rename {qa => test}/rpc-tests/wallet-dump.py (100%) rename {qa => test}/rpc-tests/wallet-hd.py (100%) rename {qa => test}/rpc-tests/wallet.py (100%) rename {qa => test}/rpc-tests/walletbackup.py (100%) rename {qa => test}/rpc-tests/zapwallettxes.py (100%) rename {qa => test}/rpc-tests/zmq_test.py (100%) diff --git a/Makefile.am b/Makefile.am index 1ee2dfb73..a8fa1d6c3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -195,7 +195,7 @@ test_bitcoin_filtered.info: test_bitcoin.info $(LCOV) -r $< "/usr/include/*" -o $@ rpc_test.info: test_bitcoin_filtered.info - -@TIMEOUT=15 python qa/pull-tester/rpc-tests.py $(EXTENDED_RPC_TESTS) + -@TIMEOUT=15 python test/pull-tester/rpc-tests.py $(EXTENDED_RPC_TESTS) $(LCOV) -c -d $(abs_builddir)/src --t rpc-tests -o $@ $(LCOV) -z -d $(abs_builddir)/src $(LCOV) -z -d $(abs_builddir)/src/leveldb @@ -223,7 +223,7 @@ endif dist_noinst_SCRIPTS = autogen.sh -EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/rpc-tests.py qa/rpc-tests $(DIST_CONTRIB) $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS) +EXTRA_DIST = $(top_srcdir)/share/genbuild.sh test/pull-tester/rpc-tests.py test/rpc-tests $(DIST_CONTRIB) $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS) CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) @@ -232,5 +232,5 @@ CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) DISTCHECK_CONFIGURE_FLAGS = --enable-man clean-local: - rm -rf coverage_percent.txt test_bitcoin.coverage/ total.coverage/ qa/tmp/ cache/ $(OSX_APP) - rm -rf qa/pull-tester/__pycache__ + rm -rf coverage_percent.txt test_bitcoin.coverage/ total.coverage/ test/tmp/ cache/ $(OSX_APP) + rm -rf test/pull-tester/__pycache__ diff --git a/README.md b/README.md index 38a90dde4..4de30e0df 100644 --- a/README.md +++ b/README.md @@ -54,9 +54,9 @@ submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: `make check`. Further details on running and extending unit tests can be found in [/src/test/README.md](/src/test/README.md). -There are also [regression and integration tests](/qa) of the RPC interface, written +There are also [regression and integration tests](/test) of the RPC interface, written in Python, that are run automatically on the build server. -These tests can be run (if the [test dependencies](/qa) are installed) with: `qa/pull-tester/rpc-tests.py` +These tests can be run (if the [test dependencies](/test) are installed) with: `test/pull-tester/rpc-tests.py` The Travis CI system makes sure that every pull request is built for Windows, Linux, and OS X, and that unit/sanity tests are run automatically. diff --git a/configure.ac b/configure.ac index 41634e035..b32daf0a2 100644 --- a/configure.ac +++ b/configure.ac @@ -1148,9 +1148,9 @@ AC_SUBST(ZMQ_LIBS) AC_SUBST(PROTOBUF_LIBS) AC_SUBST(QR_LIBS) AC_CONFIG_FILES([Makefile src/Makefile doc/man/Makefile share/setup.nsi share/qt/Info.plist src/test/buildenv.py]) -AC_CONFIG_FILES([qa/pull-tester/tests_config.ini],[chmod +x qa/pull-tester/tests_config.ini]) +AC_CONFIG_FILES([test/pull-tester/tests_config.ini],[chmod +x test/pull-tester/tests_config.ini]) AC_CONFIG_FILES([contrib/devtools/split-debug.sh],[chmod +x contrib/devtools/split-debug.sh]) -AC_CONFIG_LINKS([qa/pull-tester/rpc-tests.py:qa/pull-tester/rpc-tests.py]) +AC_CONFIG_LINKS([test/pull-tester/rpc-tests.py:test/pull-tester/rpc-tests.py]) dnl boost's m4 checks do something really nasty: they export these vars. As a dnl result, they leak into secp256k1's configure and crazy things happen. @@ -1198,8 +1198,8 @@ esac dnl Replace the BUILDDIR path with the correct Windows path if compiling on Native Windows case ${OS} in *Windows*) - sed 's/BUILDDIR="\/\([[a-z]]\)/BUILDDIR="\1:/' qa/pull-tester/tests_config.py > qa/pull-tester/tests_config-2.py - mv qa/pull-tester/tests_config-2.py qa/pull-tester/tests_config.py + sed 's/BUILDDIR="\/\([[a-z]]\)/BUILDDIR="\1:/' test/pull-tester/tests_config.py > test/pull-tester/tests_config-2.py + mv test/pull-tester/tests_config-2.py test/pull-tester/tests_config.py ;; esac diff --git a/contrib/devtools/copyright_header.py b/contrib/devtools/copyright_header.py index 9f35c378b..1b7087934 100755 --- a/contrib/devtools/copyright_header.py +++ b/contrib/devtools/copyright_header.py @@ -32,7 +32,7 @@ EXCLUDE = [ 'src/tinyformat.h', 'src/leveldb/util/env_win.cc', 'src/crypto/ctaes/bench.c', - 'qa/rpc-tests/test_framework/bignum.py', + 'test/rpc-tests/test_framework/bignum.py', # python init: '*__init__.py', ] diff --git a/contrib/rpm/bitcoin.spec b/contrib/rpm/bitcoin.spec index 516f42334..f7796efc0 100644 --- a/contrib/rpm/bitcoin.spec +++ b/contrib/rpm/bitcoin.spec @@ -314,7 +314,7 @@ make check pushd src srcdir=. test/bitcoin-util-test.py popd -qa/pull-tester/rpc-tests.py -extended +test/pull-tester/rpc-tests.py -extended %post libs -p /sbin/ldconfig diff --git a/doc/developer-notes.md b/doc/developer-notes.md index 3a7e4f73b..ec608cfbd 100644 --- a/doc/developer-notes.md +++ b/doc/developer-notes.md @@ -132,7 +132,7 @@ Run with the -testnet option to run with "play bitcoins" on the test network, if are testing multi-machine code that needs to operate across the internet. If you are testing something that can run on one machine, run with the -regtest option. -In regression test mode, blocks can be created on-demand; see qa/rpc-tests/ for tests +In regression test mode, blocks can be created on-demand; see test/rpc-tests/ for tests that run in -regtest mode. **DEBUG_LOCKORDER** @@ -252,7 +252,7 @@ Wallet - *Rationale*: In RPC code that conditionally uses the wallet (such as `validateaddress`) it is easy to forget that global pointer `pwalletMain` - can be NULL. See `qa/rpc-tests/disablewallet.py` for functional tests + can be NULL. See `test/rpc-tests/disablewallet.py` for functional tests exercising the API with `-disablewallet` - Include `db_cxx.h` (BerkeleyDB header) only when `ENABLE_WALLET` is set diff --git a/qa/README.md b/test/README.md similarity index 82% rename from qa/README.md rename to test/README.md index f4dce7af5..d71030df5 100644 --- a/qa/README.md +++ b/test/README.md @@ -1,5 +1,5 @@ -The [pull-tester](/qa/pull-tester/) folder contains a script to call -multiple tests from the [rpc-tests](/qa/rpc-tests/) folder. +The [pull-tester](/test/pull-tester/) folder contains a script to call +multiple tests from the [rpc-tests](/test/rpc-tests/) folder. Every pull request to the bitcoin repository is built and run through the regression test suite. You can also run all or only individual @@ -27,19 +27,19 @@ Running tests You can run any single test by calling - qa/pull-tester/rpc-tests.py + test/pull-tester/rpc-tests.py Or you can run any combination of tests by calling - qa/pull-tester/rpc-tests.py ... + test/pull-tester/rpc-tests.py ... Run the regression test suite with - qa/pull-tester/rpc-tests.py + test/pull-tester/rpc-tests.py Run all possible tests with - qa/pull-tester/rpc-tests.py --extended + test/pull-tester/rpc-tests.py --extended By default, tests will be run in parallel. To specify how many jobs to run, append `--jobs=n` (default n=4). @@ -61,7 +61,7 @@ Possible options, which apply to each individual test run: ``` If you set the environment variable `PYTHON_DEBUG=1` you will get some debug -output (example: `PYTHON_DEBUG=1 qa/pull-tester/rpc-tests.py wallet`). +output (example: `PYTHON_DEBUG=1 test/pull-tester/rpc-tests.py wallet`). A 200-block -regtest blockchain and wallets for four nodes is created the first time a regression test is run and @@ -84,4 +84,4 @@ Writing tests ============= You are encouraged to write tests for new or existing features. Further information about the test framework and individual RPC -tests is found in [qa/rpc-tests](/qa/rpc-tests). +tests is found in [test/rpc-tests](/test/rpc-tests). diff --git a/qa/pull-tester/rpc-tests.py b/test/pull-tester/rpc-tests.py similarity index 97% rename from qa/pull-tester/rpc-tests.py rename to test/pull-tester/rpc-tests.py index 68e11b4c2..925e19f09 100755 --- a/qa/pull-tester/rpc-tests.py +++ b/test/pull-tester/rpc-tests.py @@ -11,7 +11,7 @@ forward all unrecognized arguments onto the individual test scripts. RPC tests are disabled on Windows by default. Use --force to run them anyway. For a description of arguments recognized by test scripts, see -`qa/pull-tester/test_framework/test_framework.py:BitcoinTestFramework.main`. +`test/pull-tester/test_framework/test_framework.py:BitcoinTestFramework.main`. """ @@ -171,7 +171,7 @@ def main(): import zmq except ImportError: print("ERROR: \"import zmq\" failed. Use -nozmq to run without the ZMQ tests." - "To run zmq tests, see dependency info in /qa/README.md.") + "To run zmq tests, see dependency info in /test/README.md.") raise # Build list of tests @@ -206,7 +206,7 @@ def main(): if args.help: # Print help for rpc-tests.py, then print help of the first script and exit. parser.print_help() - subprocess.check_call((config["environment"]["SRCDIR"] + '/qa/rpc-tests/' + test_list[0]).split() + ['-h']) + subprocess.check_call((config["environment"]["SRCDIR"] + '/test/rpc-tests/' + test_list[0]).split() + ['-h']) sys.exit(0) run_tests(test_list, config["environment"]["SRCDIR"], config["environment"]["BUILDDIR"], config["environment"]["EXEEXT"], args.jobs, args.coverage, passon_args) @@ -222,10 +222,10 @@ def run_tests(test_list, src_dir, build_dir, exeext, jobs=1, enable_coverage=Fal if "BITCOIND" not in os.environ: os.environ["BITCOIND"] = build_dir + '/src/bitcoind' + exeext - tests_dir = src_dir + '/qa/rpc-tests/' + tests_dir = src_dir + '/test/rpc-tests/' flags = ["--srcdir={}/src".format(build_dir)] + args - flags.append("--cachedir=%s/qa/cache" % build_dir) + flags.append("--cachedir=%s/test/cache" % build_dir) if enable_coverage: coverage = RPCCoverage() @@ -335,7 +335,7 @@ class RPCCoverage(object): After all tests complete, the commands run are combined and diff'd against the complete list to calculate uncovered RPC commands. - See also: qa/rpc-tests/test_framework/coverage.py + See also: test/rpc-tests/test_framework/coverage.py """ def __init__(self): @@ -363,7 +363,7 @@ class RPCCoverage(object): Return a set of currently untested RPC commands. """ - # This is shared from `qa/rpc-tests/test-framework/coverage.py` + # This is shared from `test/rpc-tests/test-framework/coverage.py` reference_filename = 'rpc_interface.txt' coverage_file_prefix = 'coverage.' diff --git a/qa/pull-tester/tests_config.ini.in b/test/pull-tester/tests_config.ini.in similarity index 100% rename from qa/pull-tester/tests_config.ini.in rename to test/pull-tester/tests_config.ini.in diff --git a/qa/rpc-tests/.gitignore b/test/rpc-tests/.gitignore similarity index 100% rename from qa/rpc-tests/.gitignore rename to test/rpc-tests/.gitignore diff --git a/qa/rpc-tests/README.md b/test/rpc-tests/README.md similarity index 100% rename from qa/rpc-tests/README.md rename to test/rpc-tests/README.md diff --git a/qa/rpc-tests/abandonconflict.py b/test/rpc-tests/abandonconflict.py similarity index 100% rename from qa/rpc-tests/abandonconflict.py rename to test/rpc-tests/abandonconflict.py diff --git a/qa/rpc-tests/assumevalid.py b/test/rpc-tests/assumevalid.py similarity index 100% rename from qa/rpc-tests/assumevalid.py rename to test/rpc-tests/assumevalid.py diff --git a/qa/rpc-tests/bip65-cltv-p2p.py b/test/rpc-tests/bip65-cltv-p2p.py similarity index 100% rename from qa/rpc-tests/bip65-cltv-p2p.py rename to test/rpc-tests/bip65-cltv-p2p.py diff --git a/qa/rpc-tests/bip65-cltv.py b/test/rpc-tests/bip65-cltv.py similarity index 100% rename from qa/rpc-tests/bip65-cltv.py rename to test/rpc-tests/bip65-cltv.py diff --git a/qa/rpc-tests/bip68-112-113-p2p.py b/test/rpc-tests/bip68-112-113-p2p.py similarity index 100% rename from qa/rpc-tests/bip68-112-113-p2p.py rename to test/rpc-tests/bip68-112-113-p2p.py diff --git a/qa/rpc-tests/bip68-sequence.py b/test/rpc-tests/bip68-sequence.py similarity index 100% rename from qa/rpc-tests/bip68-sequence.py rename to test/rpc-tests/bip68-sequence.py diff --git a/qa/rpc-tests/bip9-softforks.py b/test/rpc-tests/bip9-softforks.py similarity index 100% rename from qa/rpc-tests/bip9-softforks.py rename to test/rpc-tests/bip9-softforks.py diff --git a/qa/rpc-tests/bipdersig-p2p.py b/test/rpc-tests/bipdersig-p2p.py similarity index 100% rename from qa/rpc-tests/bipdersig-p2p.py rename to test/rpc-tests/bipdersig-p2p.py diff --git a/qa/rpc-tests/bipdersig.py b/test/rpc-tests/bipdersig.py similarity index 100% rename from qa/rpc-tests/bipdersig.py rename to test/rpc-tests/bipdersig.py diff --git a/qa/rpc-tests/blockchain.py b/test/rpc-tests/blockchain.py similarity index 100% rename from qa/rpc-tests/blockchain.py rename to test/rpc-tests/blockchain.py diff --git a/qa/rpc-tests/bumpfee.py b/test/rpc-tests/bumpfee.py similarity index 100% rename from qa/rpc-tests/bumpfee.py rename to test/rpc-tests/bumpfee.py diff --git a/qa/rpc-tests/create_cache.py b/test/rpc-tests/create_cache.py similarity index 100% rename from qa/rpc-tests/create_cache.py rename to test/rpc-tests/create_cache.py diff --git a/qa/rpc-tests/decodescript.py b/test/rpc-tests/decodescript.py similarity index 100% rename from qa/rpc-tests/decodescript.py rename to test/rpc-tests/decodescript.py diff --git a/qa/rpc-tests/disablewallet.py b/test/rpc-tests/disablewallet.py similarity index 100% rename from qa/rpc-tests/disablewallet.py rename to test/rpc-tests/disablewallet.py diff --git a/qa/rpc-tests/forknotify.py b/test/rpc-tests/forknotify.py similarity index 100% rename from qa/rpc-tests/forknotify.py rename to test/rpc-tests/forknotify.py diff --git a/qa/rpc-tests/fundrawtransaction.py b/test/rpc-tests/fundrawtransaction.py similarity index 100% rename from qa/rpc-tests/fundrawtransaction.py rename to test/rpc-tests/fundrawtransaction.py diff --git a/qa/rpc-tests/getblocktemplate_longpoll.py b/test/rpc-tests/getblocktemplate_longpoll.py similarity index 100% rename from qa/rpc-tests/getblocktemplate_longpoll.py rename to test/rpc-tests/getblocktemplate_longpoll.py diff --git a/qa/rpc-tests/getblocktemplate_proposals.py b/test/rpc-tests/getblocktemplate_proposals.py similarity index 100% rename from qa/rpc-tests/getblocktemplate_proposals.py rename to test/rpc-tests/getblocktemplate_proposals.py diff --git a/qa/rpc-tests/getchaintips.py b/test/rpc-tests/getchaintips.py similarity index 100% rename from qa/rpc-tests/getchaintips.py rename to test/rpc-tests/getchaintips.py diff --git a/qa/rpc-tests/httpbasics.py b/test/rpc-tests/httpbasics.py similarity index 100% rename from qa/rpc-tests/httpbasics.py rename to test/rpc-tests/httpbasics.py diff --git a/qa/rpc-tests/import-rescan.py b/test/rpc-tests/import-rescan.py similarity index 100% rename from qa/rpc-tests/import-rescan.py rename to test/rpc-tests/import-rescan.py diff --git a/qa/rpc-tests/importmulti.py b/test/rpc-tests/importmulti.py similarity index 100% rename from qa/rpc-tests/importmulti.py rename to test/rpc-tests/importmulti.py diff --git a/qa/rpc-tests/importprunedfunds.py b/test/rpc-tests/importprunedfunds.py similarity index 100% rename from qa/rpc-tests/importprunedfunds.py rename to test/rpc-tests/importprunedfunds.py diff --git a/qa/rpc-tests/invalidateblock.py b/test/rpc-tests/invalidateblock.py similarity index 100% rename from qa/rpc-tests/invalidateblock.py rename to test/rpc-tests/invalidateblock.py diff --git a/qa/rpc-tests/invalidblockrequest.py b/test/rpc-tests/invalidblockrequest.py similarity index 100% rename from qa/rpc-tests/invalidblockrequest.py rename to test/rpc-tests/invalidblockrequest.py diff --git a/qa/rpc-tests/invalidtxrequest.py b/test/rpc-tests/invalidtxrequest.py similarity index 100% rename from qa/rpc-tests/invalidtxrequest.py rename to test/rpc-tests/invalidtxrequest.py diff --git a/qa/rpc-tests/keypool.py b/test/rpc-tests/keypool.py similarity index 100% rename from qa/rpc-tests/keypool.py rename to test/rpc-tests/keypool.py diff --git a/qa/rpc-tests/listsinceblock.py b/test/rpc-tests/listsinceblock.py similarity index 100% rename from qa/rpc-tests/listsinceblock.py rename to test/rpc-tests/listsinceblock.py diff --git a/qa/rpc-tests/listtransactions.py b/test/rpc-tests/listtransactions.py similarity index 100% rename from qa/rpc-tests/listtransactions.py rename to test/rpc-tests/listtransactions.py diff --git a/qa/rpc-tests/maxblocksinflight.py b/test/rpc-tests/maxblocksinflight.py similarity index 100% rename from qa/rpc-tests/maxblocksinflight.py rename to test/rpc-tests/maxblocksinflight.py diff --git a/qa/rpc-tests/maxuploadtarget.py b/test/rpc-tests/maxuploadtarget.py similarity index 100% rename from qa/rpc-tests/maxuploadtarget.py rename to test/rpc-tests/maxuploadtarget.py diff --git a/qa/rpc-tests/mempool_limit.py b/test/rpc-tests/mempool_limit.py similarity index 100% rename from qa/rpc-tests/mempool_limit.py rename to test/rpc-tests/mempool_limit.py diff --git a/qa/rpc-tests/mempool_packages.py b/test/rpc-tests/mempool_packages.py similarity index 100% rename from qa/rpc-tests/mempool_packages.py rename to test/rpc-tests/mempool_packages.py diff --git a/qa/rpc-tests/mempool_reorg.py b/test/rpc-tests/mempool_reorg.py similarity index 100% rename from qa/rpc-tests/mempool_reorg.py rename to test/rpc-tests/mempool_reorg.py diff --git a/qa/rpc-tests/mempool_resurrect_test.py b/test/rpc-tests/mempool_resurrect_test.py similarity index 100% rename from qa/rpc-tests/mempool_resurrect_test.py rename to test/rpc-tests/mempool_resurrect_test.py diff --git a/qa/rpc-tests/mempool_spendcoinbase.py b/test/rpc-tests/mempool_spendcoinbase.py similarity index 100% rename from qa/rpc-tests/mempool_spendcoinbase.py rename to test/rpc-tests/mempool_spendcoinbase.py diff --git a/qa/rpc-tests/merkle_blocks.py b/test/rpc-tests/merkle_blocks.py similarity index 100% rename from qa/rpc-tests/merkle_blocks.py rename to test/rpc-tests/merkle_blocks.py diff --git a/qa/rpc-tests/multi_rpc.py b/test/rpc-tests/multi_rpc.py similarity index 100% rename from qa/rpc-tests/multi_rpc.py rename to test/rpc-tests/multi_rpc.py diff --git a/qa/rpc-tests/nodehandling.py b/test/rpc-tests/nodehandling.py similarity index 100% rename from qa/rpc-tests/nodehandling.py rename to test/rpc-tests/nodehandling.py diff --git a/qa/rpc-tests/nulldummy.py b/test/rpc-tests/nulldummy.py similarity index 100% rename from qa/rpc-tests/nulldummy.py rename to test/rpc-tests/nulldummy.py diff --git a/qa/rpc-tests/p2p-acceptblock.py b/test/rpc-tests/p2p-acceptblock.py similarity index 100% rename from qa/rpc-tests/p2p-acceptblock.py rename to test/rpc-tests/p2p-acceptblock.py diff --git a/qa/rpc-tests/p2p-compactblocks.py b/test/rpc-tests/p2p-compactblocks.py similarity index 100% rename from qa/rpc-tests/p2p-compactblocks.py rename to test/rpc-tests/p2p-compactblocks.py diff --git a/qa/rpc-tests/p2p-feefilter.py b/test/rpc-tests/p2p-feefilter.py similarity index 100% rename from qa/rpc-tests/p2p-feefilter.py rename to test/rpc-tests/p2p-feefilter.py diff --git a/qa/rpc-tests/p2p-fullblocktest.py b/test/rpc-tests/p2p-fullblocktest.py similarity index 100% rename from qa/rpc-tests/p2p-fullblocktest.py rename to test/rpc-tests/p2p-fullblocktest.py diff --git a/qa/rpc-tests/p2p-leaktests.py b/test/rpc-tests/p2p-leaktests.py similarity index 100% rename from qa/rpc-tests/p2p-leaktests.py rename to test/rpc-tests/p2p-leaktests.py diff --git a/qa/rpc-tests/p2p-mempool.py b/test/rpc-tests/p2p-mempool.py similarity index 100% rename from qa/rpc-tests/p2p-mempool.py rename to test/rpc-tests/p2p-mempool.py diff --git a/qa/rpc-tests/p2p-segwit.py b/test/rpc-tests/p2p-segwit.py similarity index 100% rename from qa/rpc-tests/p2p-segwit.py rename to test/rpc-tests/p2p-segwit.py diff --git a/qa/rpc-tests/p2p-timeouts.py b/test/rpc-tests/p2p-timeouts.py similarity index 100% rename from qa/rpc-tests/p2p-timeouts.py rename to test/rpc-tests/p2p-timeouts.py diff --git a/qa/rpc-tests/p2p-versionbits-warning.py b/test/rpc-tests/p2p-versionbits-warning.py similarity index 100% rename from qa/rpc-tests/p2p-versionbits-warning.py rename to test/rpc-tests/p2p-versionbits-warning.py diff --git a/qa/rpc-tests/preciousblock.py b/test/rpc-tests/preciousblock.py similarity index 100% rename from qa/rpc-tests/preciousblock.py rename to test/rpc-tests/preciousblock.py diff --git a/qa/rpc-tests/prioritise_transaction.py b/test/rpc-tests/prioritise_transaction.py similarity index 100% rename from qa/rpc-tests/prioritise_transaction.py rename to test/rpc-tests/prioritise_transaction.py diff --git a/qa/rpc-tests/proxy_test.py b/test/rpc-tests/proxy_test.py similarity index 100% rename from qa/rpc-tests/proxy_test.py rename to test/rpc-tests/proxy_test.py diff --git a/qa/rpc-tests/pruning.py b/test/rpc-tests/pruning.py similarity index 100% rename from qa/rpc-tests/pruning.py rename to test/rpc-tests/pruning.py diff --git a/qa/rpc-tests/rawtransactions.py b/test/rpc-tests/rawtransactions.py similarity index 100% rename from qa/rpc-tests/rawtransactions.py rename to test/rpc-tests/rawtransactions.py diff --git a/qa/rpc-tests/receivedby.py b/test/rpc-tests/receivedby.py similarity index 100% rename from qa/rpc-tests/receivedby.py rename to test/rpc-tests/receivedby.py diff --git a/qa/rpc-tests/reindex.py b/test/rpc-tests/reindex.py similarity index 100% rename from qa/rpc-tests/reindex.py rename to test/rpc-tests/reindex.py diff --git a/qa/rpc-tests/replace-by-fee.py b/test/rpc-tests/replace-by-fee.py similarity index 100% rename from qa/rpc-tests/replace-by-fee.py rename to test/rpc-tests/replace-by-fee.py diff --git a/qa/rpc-tests/rest.py b/test/rpc-tests/rest.py similarity index 100% rename from qa/rpc-tests/rest.py rename to test/rpc-tests/rest.py diff --git a/qa/rpc-tests/rpcbind_test.py b/test/rpc-tests/rpcbind_test.py similarity index 100% rename from qa/rpc-tests/rpcbind_test.py rename to test/rpc-tests/rpcbind_test.py diff --git a/qa/rpc-tests/rpcnamedargs.py b/test/rpc-tests/rpcnamedargs.py similarity index 100% rename from qa/rpc-tests/rpcnamedargs.py rename to test/rpc-tests/rpcnamedargs.py diff --git a/qa/rpc-tests/segwit.py b/test/rpc-tests/segwit.py similarity index 100% rename from qa/rpc-tests/segwit.py rename to test/rpc-tests/segwit.py diff --git a/qa/rpc-tests/sendheaders.py b/test/rpc-tests/sendheaders.py similarity index 100% rename from qa/rpc-tests/sendheaders.py rename to test/rpc-tests/sendheaders.py diff --git a/qa/rpc-tests/signmessages.py b/test/rpc-tests/signmessages.py similarity index 100% rename from qa/rpc-tests/signmessages.py rename to test/rpc-tests/signmessages.py diff --git a/qa/rpc-tests/signrawtransactions.py b/test/rpc-tests/signrawtransactions.py similarity index 100% rename from qa/rpc-tests/signrawtransactions.py rename to test/rpc-tests/signrawtransactions.py diff --git a/qa/rpc-tests/smartfees.py b/test/rpc-tests/smartfees.py similarity index 100% rename from qa/rpc-tests/smartfees.py rename to test/rpc-tests/smartfees.py diff --git a/qa/rpc-tests/test_framework/__init__.py b/test/rpc-tests/test_framework/__init__.py similarity index 100% rename from qa/rpc-tests/test_framework/__init__.py rename to test/rpc-tests/test_framework/__init__.py diff --git a/qa/rpc-tests/test_framework/address.py b/test/rpc-tests/test_framework/address.py similarity index 100% rename from qa/rpc-tests/test_framework/address.py rename to test/rpc-tests/test_framework/address.py diff --git a/qa/rpc-tests/test_framework/authproxy.py b/test/rpc-tests/test_framework/authproxy.py similarity index 100% rename from qa/rpc-tests/test_framework/authproxy.py rename to test/rpc-tests/test_framework/authproxy.py diff --git a/qa/rpc-tests/test_framework/bignum.py b/test/rpc-tests/test_framework/bignum.py similarity index 100% rename from qa/rpc-tests/test_framework/bignum.py rename to test/rpc-tests/test_framework/bignum.py diff --git a/qa/rpc-tests/test_framework/blockstore.py b/test/rpc-tests/test_framework/blockstore.py similarity index 100% rename from qa/rpc-tests/test_framework/blockstore.py rename to test/rpc-tests/test_framework/blockstore.py diff --git a/qa/rpc-tests/test_framework/blocktools.py b/test/rpc-tests/test_framework/blocktools.py similarity index 100% rename from qa/rpc-tests/test_framework/blocktools.py rename to test/rpc-tests/test_framework/blocktools.py diff --git a/qa/rpc-tests/test_framework/comptool.py b/test/rpc-tests/test_framework/comptool.py similarity index 100% rename from qa/rpc-tests/test_framework/comptool.py rename to test/rpc-tests/test_framework/comptool.py diff --git a/qa/rpc-tests/test_framework/coverage.py b/test/rpc-tests/test_framework/coverage.py similarity index 100% rename from qa/rpc-tests/test_framework/coverage.py rename to test/rpc-tests/test_framework/coverage.py diff --git a/qa/rpc-tests/test_framework/key.py b/test/rpc-tests/test_framework/key.py similarity index 100% rename from qa/rpc-tests/test_framework/key.py rename to test/rpc-tests/test_framework/key.py diff --git a/qa/rpc-tests/test_framework/mininode.py b/test/rpc-tests/test_framework/mininode.py similarity index 100% rename from qa/rpc-tests/test_framework/mininode.py rename to test/rpc-tests/test_framework/mininode.py diff --git a/qa/rpc-tests/test_framework/netutil.py b/test/rpc-tests/test_framework/netutil.py similarity index 100% rename from qa/rpc-tests/test_framework/netutil.py rename to test/rpc-tests/test_framework/netutil.py diff --git a/qa/rpc-tests/test_framework/script.py b/test/rpc-tests/test_framework/script.py similarity index 100% rename from qa/rpc-tests/test_framework/script.py rename to test/rpc-tests/test_framework/script.py diff --git a/qa/rpc-tests/test_framework/siphash.py b/test/rpc-tests/test_framework/siphash.py similarity index 100% rename from qa/rpc-tests/test_framework/siphash.py rename to test/rpc-tests/test_framework/siphash.py diff --git a/qa/rpc-tests/test_framework/socks5.py b/test/rpc-tests/test_framework/socks5.py similarity index 100% rename from qa/rpc-tests/test_framework/socks5.py rename to test/rpc-tests/test_framework/socks5.py diff --git a/qa/rpc-tests/test_framework/test_framework.py b/test/rpc-tests/test_framework/test_framework.py similarity index 100% rename from qa/rpc-tests/test_framework/test_framework.py rename to test/rpc-tests/test_framework/test_framework.py diff --git a/qa/rpc-tests/test_framework/util.py b/test/rpc-tests/test_framework/util.py similarity index 100% rename from qa/rpc-tests/test_framework/util.py rename to test/rpc-tests/test_framework/util.py diff --git a/qa/rpc-tests/txn_clone.py b/test/rpc-tests/txn_clone.py similarity index 100% rename from qa/rpc-tests/txn_clone.py rename to test/rpc-tests/txn_clone.py diff --git a/qa/rpc-tests/txn_doublespend.py b/test/rpc-tests/txn_doublespend.py similarity index 100% rename from qa/rpc-tests/txn_doublespend.py rename to test/rpc-tests/txn_doublespend.py diff --git a/qa/rpc-tests/wallet-accounts.py b/test/rpc-tests/wallet-accounts.py similarity index 100% rename from qa/rpc-tests/wallet-accounts.py rename to test/rpc-tests/wallet-accounts.py diff --git a/qa/rpc-tests/wallet-dump.py b/test/rpc-tests/wallet-dump.py similarity index 100% rename from qa/rpc-tests/wallet-dump.py rename to test/rpc-tests/wallet-dump.py diff --git a/qa/rpc-tests/wallet-hd.py b/test/rpc-tests/wallet-hd.py similarity index 100% rename from qa/rpc-tests/wallet-hd.py rename to test/rpc-tests/wallet-hd.py diff --git a/qa/rpc-tests/wallet.py b/test/rpc-tests/wallet.py similarity index 100% rename from qa/rpc-tests/wallet.py rename to test/rpc-tests/wallet.py diff --git a/qa/rpc-tests/walletbackup.py b/test/rpc-tests/walletbackup.py similarity index 100% rename from qa/rpc-tests/walletbackup.py rename to test/rpc-tests/walletbackup.py diff --git a/qa/rpc-tests/zapwallettxes.py b/test/rpc-tests/zapwallettxes.py similarity index 100% rename from qa/rpc-tests/zapwallettxes.py rename to test/rpc-tests/zapwallettxes.py diff --git a/qa/rpc-tests/zmq_test.py b/test/rpc-tests/zmq_test.py similarity index 100% rename from qa/rpc-tests/zmq_test.py rename to test/rpc-tests/zmq_test.py