diff --git a/ci/test/05_before_script.sh b/ci/test/05_before_script.sh index 42c244c2f..2a8b61b20 100755 --- a/ci/test/05_before_script.sh +++ b/ci/test/05_before_script.sh @@ -8,9 +8,9 @@ export LC_ALL=C.UTF-8 # Make sure default datadir does not exist and is never read by creating a dummy file if [ "$CI_OS_NAME" == "macos" ]; then - echo > $HOME/Library/Application\ Support/Bitcoin + echo > $HOME/Library/Application\ Support/Dogecoin else - DOCKER_EXEC echo \> \$HOME/.bitcoin + DOCKER_EXEC echo \> \$HOME/.dogecoin fi DOCKER_EXEC mkdir -p ${DEPENDS_DIR}/SDKs ${DEPENDS_DIR}/sdk-sources diff --git a/ci/test/06_script_b.sh b/ci/test/06_script_b.sh index 7aea21f25..d5a63d852 100755 --- a/ci/test/06_script_b.sh +++ b/ci/test/06_script_b.sh @@ -38,7 +38,7 @@ fi if [ "$RUN_UNIT_TESTS_SEQUENTIAL" = "true" ]; then BEGIN_FOLD unit-tests-seq - DOCKER_EXEC ${TEST_RUNNER_ENV} DIR_UNIT_TEST_DATA=${DIR_UNIT_TEST_DATA} LD_LIBRARY_PATH=$DEPENDS_DIR/$HOST/lib "${BASE_BUILD_DIR}/bitcoin-*/src/test/test_bitcoin*" --catch_system_errors=no -l test_suite + DOCKER_EXEC ${TEST_RUNNER_ENV} DIR_UNIT_TEST_DATA=${DIR_UNIT_TEST_DATA} LD_LIBRARY_PATH=$DEPENDS_DIR/$HOST/lib "${BASE_BUILD_DIR}/dogecoin-*/src/test/test_dogecoin*" --catch_system_errors=no -l test_suite END_FOLD fi diff --git a/test/functional/test_runner.py b/test/functional/test_runner.py index 09756e4ad..35e9fa8bd 100755 --- a/test/functional/test_runner.py +++ b/test/functional/test_runner.py @@ -83,6 +83,15 @@ EXTENDED_SCRIPTS = [ 'feature_dbcrash.py', ] +COMPATIBILITY_SCRIPTS = [ + # These tests are not run by default. + # Longest test should go first, to favor running tests in parallel + 'feature_backwards_compatibility.py', + 'feature_backwards_compatibility.py --descriptors', + 'wallet_upgradewallet.py', + 'mempool_compatibility.py', +] + BASE_SCRIPTS = [ # Scripts that are run by default. # Longest test should go first, to favor running tests in parallel @@ -196,8 +205,6 @@ BASE_SCRIPTS = [ 'example_test.py', 'wallet_txn_doublespend.py', 'wallet_txn_doublespend.py --descriptors', - 'feature_backwards_compatibility.py', - 'feature_backwards_compatibility.py --descriptors', 'wallet_txn_clone.py --mineblock', 'feature_notifications.py', 'rpc_getblockfilter.py', @@ -225,7 +232,6 @@ BASE_SCRIPTS = [ 'wallet_import_rescan.py --legacy-wallet', 'wallet_import_with_label.py --legacy-wallet', 'wallet_importdescriptors.py --descriptors', - 'wallet_upgradewallet.py', 'rpc_bind.py --ipv4', 'rpc_bind.py --ipv6', 'rpc_bind.py --nonloopback', @@ -266,7 +272,6 @@ BASE_SCRIPTS = [ 'feature_includeconf.py', 'feature_asmap.py', 'mempool_unbroadcast.py', - 'mempool_compatibility.py', 'rpc_deriveaddresses.py', 'rpc_deriveaddresses.py --usecli', 'p2p_ping.py', @@ -289,7 +294,7 @@ BASE_SCRIPTS = [ ] # Place EXTENDED_SCRIPTS first since it has the 3 longest running tests -ALL_SCRIPTS = EXTENDED_SCRIPTS + BASE_SCRIPTS +ALL_SCRIPTS = EXTENDED_SCRIPTS + BASE_SCRIPTS + COMPATIBILITY_SCRIPTS NON_SCRIPTS = [ # These are python files that live in the functional tests directory, but are not test scripts. @@ -310,6 +315,7 @@ def main(): parser.add_argument('--combinedlogslen', '-c', type=int, default=0, metavar='n', help='On failure, print a log (of length n lines) to the console, combined from the test framework and all test nodes.') parser.add_argument('--coverage', action='store_true', help='generate a basic coverage report for the RPC interface') parser.add_argument('--ci', action='store_true', help='Run checks and code that are usually only enabled in a continuous integration environment') + parser.add_argument('--compatibility', action='store_true', help='run the backward compatibility test suite in addition to the basic tests') parser.add_argument('--exclude', '-x', help='specify a comma-separated-list of scripts to exclude.') parser.add_argument('--extended', action='store_true', help='run the extended test suite in addition to the basic tests') parser.add_argument('--help', '-h', '-?', action='store_true', help='print help text and exit') @@ -379,12 +385,14 @@ def main(): test_list.append(script) else: print("{}WARNING!{} Test '{}' not found in full test list.".format(BOLD[1], BOLD[0], test)) - elif args.extended: - # Include extended tests - test_list += ALL_SCRIPTS else: - # Run base tests only test_list += BASE_SCRIPTS + if args.compatibility: + # Include backwards compatibility tests + test_list += COMPATIBILITY_SCRIPTS + if args.extended: + # Include extended tests + test_list += EXTENDED_SCRIPTS # Remove the test cases that the user has explicitly asked to exclude. if args.exclude: