diff --git a/contrib/teamcity/build-configurations.sh b/contrib/teamcity/build-configurations.sh --- a/contrib/teamcity/build-configurations.sh +++ b/contrib/teamcity/build-configurations.sh @@ -40,6 +40,9 @@ export LSAN_OPTIONS="suppressions=${SAN_SUPP_DIR}/lsan:log_path=${SAN_LOG_DIR}/lsan.log" export TSAN_OPTIONS="suppressions=${SAN_SUPP_DIR}/tsan:log_path=${SAN_LOG_DIR}/tsan.log" export UBSAN_OPTIONS="suppressions=${SAN_SUPP_DIR}/ubsan:print_stacktrace=1:halt_on_error=1:log_path=${SAN_LOG_DIR}/ubsan.log" + + # Unit test logger parameters + UNIT_TESTS_JUNIT_LOG_LEVEL=message } # Facility to print out sanitizer log outputs to the build log console @@ -105,11 +108,18 @@ "-DSECP256K1_ENABLE_JNI=ON" ) CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${CI_SCRIPTS_DIR}"/build_cmake.sh - # FIXME: Path collisions in src/test/util_tests.cpp cause issues when - # upgraded tests are run in parallel with their non-upgraded counterpart. - # Change this back to a one-liner when the root cause is fixed. - ninja check-all - ninja check-upgrade-activated + + # Unit tests + ninja test_bitcoin + ./src/test/test_bitcoin --logger=HRF:JUNIT,${UNIT_TESTS_JUNIT_LOG_LEVEL},junit_results_unit_tests.xml + ./src/test/test_bitcoin --logger=HRF:JUNIT,${UNIT_TESTS_JUNIT_LOG_LEVEL},junit_results_unit_tests_upgrade_activated.xml -- -phononactivationtime=1575158400 + + # Libs and tools tests + ninja check-devtools check-bitcoin-qt check-leveldb check-univalue check-secp256k1 check-bitcoin-seeder check-bitcoin-util check-rpcauth + + # Functional tests + ninja check-functional + ninja check-functional-upgrade-activated ;; build-master) @@ -119,11 +129,18 @@ "-DSECP256K1_ENABLE_JNI=ON" ) CMAKE_FLAGS="${CMAKE_FLAGS[*]}" "${CI_SCRIPTS_DIR}"/build_cmake.sh - # FIXME: Path collisions in src/test/util_tests.cpp cause issues when - # upgraded tests are run in parallel with their non-upgraded counterpart. - # Change this back to a one-liner when the root cause is fixed. - ninja check-extended - ninja check-upgrade-activated-extended + + # Unit tests + ninja test_bitcoin + ./src/test/test_bitcoin --logger=HRF:JUNIT,${UNIT_TESTS_JUNIT_LOG_LEVEL},junit_results_unit_tests.xml + ./src/test/test_bitcoin --logger=HRF:JUNIT,${UNIT_TESTS_JUNIT_LOG_LEVEL},junit_results_unit_tests_upgrade_activated.xml -- -phononactivationtime=1575158400 + + # Libs and tools tests + ninja check-devtools check-bitcoin-qt check-leveldb check-univalue check-secp256k1 check-bitcoin-seeder check-bitcoin-util check-rpcauth + + # Functional tests + ninja check-functional-extended + ninja check-functional-upgrade-activated-extended ;; build-without-wallet) diff --git a/src/test/test_bitcoin_main.cpp b/src/test/test_bitcoin_main.cpp --- a/src/test/test_bitcoin_main.cpp +++ b/src/test/test_bitcoin_main.cpp @@ -2,7 +2,7 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#define BOOST_TEST_MODULE Bitcoin Test Suite +#define BOOST_TEST_MODULE Bitcoin ABC unit tests #include #include @@ -37,19 +37,27 @@ std::string error; CustomArgumentsFixture() { - std::set testArgs = { - "-phononactivationtime", + const std::string nextUpgradeFlag = "-phononactivationtime"; + + const std::set testArgs = { + nextUpgradeFlag, }; for (const auto &arg : testArgs) { gArgs.AddArg(arg, "", false, OptionsCategory::HIDDEN); } - const auto &master_test_suite = utf::master_test_suite(); + auto &master_test_suite = utf::master_test_suite(); if (!gArgs.ParseParameters(master_test_suite.argc, master_test_suite.argv, error)) { throw utf::setup_error(error); } + + // If the next upgrade is activated, append it to the test suite name + if (gArgs.IsArgSet(nextUpgradeFlag)) { + master_test_suite.p_name.value += + " with the next upgrade activated"; + } } ~CustomArgumentsFixture(){};