From 3eead55b666febe7afac4bd6804828d51519e681 Mon Sep 17 00:00:00 2001 From: Kenneth Weiss Date: Wed, 15 Jul 2026 23:13:56 -0700 Subject: [PATCH 1/2] Bugfix: Failing CI unit tests should fail the CI job! Run the `make test` command through `or_die` to exit with a non-zero status if any test fails. --- scripts/github-actions/linux-build_and_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/github-actions/linux-build_and_test.sh b/scripts/github-actions/linux-build_and_test.sh index fc7ad631f5..9037f47912 100755 --- a/scripts/github-actions/linux-build_and_test.sh +++ b/scripts/github-actions/linux-build_and_test.sh @@ -45,7 +45,7 @@ if [[ "$DO_BUILD" == "yes" ]] ; then fi echo "~~~~~~ RUNNING TESTS ~~~~~~~~" - make CTEST_OUTPUT_ON_FAILURE=1 test ARGS="-T Test --output-on-failure -j${NUM_BUILD_PROCS}" + or_die make CTEST_OUTPUT_ON_FAILURE=1 test ARGS="-T Test --output-on-failure -j${NUM_BUILD_PROCS}" if [[ "${DO_BENCHMARKS}" == "yes" ]] ; then echo "~~~~~~ RUNNING BENCHMARKS ~~~~~~~~" From fa4d770e89938f2db2260f4a17bd2b6727910825 Mon Sep 17 00:00:00 2001 From: Kenneth Weiss Date: Thu, 16 Jul 2026 23:44:20 -0700 Subject: [PATCH 2/2] slic: Moves singleton variable to namespace scope instead of function scope This is an attempt to fix failing CI in docker plans using shared build and gcc. Some quest_inout tests are failing w/ memory corruption due to bad destruction order w/ slic::finalize. --- src/axom/slic/core/Logger.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/axom/slic/core/Logger.cpp b/src/axom/slic/core/Logger.cpp index 8714d842a5..ddccc2f454 100644 --- a/src/axom/slic/core/Logger.cpp +++ b/src/axom/slic/core/Logger.cpp @@ -16,29 +16,33 @@ namespace axom { namespace slic { +//------------------------------------------------------------------------------ +// Slic's singleton state, scope-limited to this file. +// +// Defined the singleton state at namespace scope so its destructors are registered +// late and runs early during teardown. +//------------------------------------------------------------------------------ + using Loggermap = std::map; //------------------------------------------------------------------------------ -// This is a singleton, scope-limited to this file. +static Loggermap s_loggers; Loggermap& getLoggers() { - static Loggermap s_loggers; return s_loggers; } //------------------------------------------------------------------------------ -// This is a singleton, scope-limited to this file. +static Logger* s_Logger = nullptr; Logger*& getLogger() { - static Logger* s_Logger = nullptr; return s_Logger; } //------------------------------------------------------------------------------ -// This is a singleton, scope-limited to this file. +static LogStreamStatusMonitor s_logStreamStatusMonitor; LogStreamStatusMonitor& getLogStreamStatusMonitor() { - static LogStreamStatusMonitor s_logStreamStatusMonitor; return s_logStreamStatusMonitor; }