diff --git a/plugins/hipdnn-plugin/build_tools/FusilliPluginTestUtils.cmake b/plugins/hipdnn-plugin/build_tools/FusilliPluginTestUtils.cmake index df364df1..52f127e9 100644 --- a/plugins/hipdnn-plugin/build_tools/FusilliPluginTestUtils.cmake +++ b/plugins/hipdnn-plugin/build_tools/FusilliPluginTestUtils.cmake @@ -54,6 +54,7 @@ install( # SRCS [ ...] # DEPS [ ...] # [COMPILE_DEFS [ ...]] +# [ENV [ ...]] # ) # # NAME @@ -67,13 +68,17 @@ install( # # COMPILE_DEFS # Compile definitions to add to the target. +# +# ENV +# Additional environment variables for this test (in addition to the +# defaults set for all fusilli plugin tests). function(add_fusilli_plugin_test) cmake_parse_arguments( - ARG # prefix - "" # options - "NAME" # one value keywords - "SRCS;DEPS;COMPILE_DEFS" # multi-value keywords - ${ARGN} # extra arguments + ARG # prefix + "" # options + "NAME" # one value keywords + "SRCS;DEPS;COMPILE_DEFS;ENV" # multi-value keywords + ${ARGN} # extra arguments ) if(NOT DEFINED ARG_NAME) @@ -104,12 +109,21 @@ function(add_fusilli_plugin_test) target_compile_definitions(${ARG_NAME} PRIVATE ${ARG_COMPILE_DEFS}) endif() - # Register with CTest + # Build extra ENVIRONMENT property pairs from the ENV parameter. + set(_extra_env_props "") + set(_extra_env_lines "") + foreach(_extra_env IN LISTS ARG_ENV) + list(APPEND _extra_env_props ENVIRONMENT "${_extra_env}") + string(APPEND _extra_env_lines " ENVIRONMENT \"${_extra_env}\"\n") + endforeach() + + # Register with CTest (build-tree) gtest_discover_tests(${ARG_NAME} PROPERTIES ENVIRONMENT "HIPDNN_LOG_LEVEL=info" ENVIRONMENT "FUSILLI_LOG_INFO=1" ENVIRONMENT "FUSILLI_LOG_FILE=stdout" + ${_extra_env_props} ) # Install test executable @@ -129,6 +143,7 @@ function(add_fusilli_plugin_test) " ENVIRONMENT \"HIPDNN_LOG_LEVEL=info\"\n" " ENVIRONMENT \"FUSILLI_LOG_INFO=1\"\n" " ENVIRONMENT \"FUSILLI_LOG_FILE=stdout\"\n" + "${_extra_env_lines}" ")\n" ) endfunction() diff --git a/plugins/hipdnn-plugin/src/fusilli_plugin.cpp b/plugins/hipdnn-plugin/src/fusilli_plugin.cpp index 3dd4a42b..b652ea06 100644 --- a/plugins/hipdnn-plugin/src/fusilli_plugin.cpp +++ b/plugins/hipdnn-plugin/src/fusilli_plugin.cpp @@ -108,6 +108,10 @@ hipdnnPluginStatus_t hipdnnPluginSetLoggingCallback(hipdnnCallback_t callback) { hipdnn_data_sdk::utilities::FUSILLI_ENGINE_NAME, callback); LOG_API_SUCCESS_AUTO("logging callback initialized"); + + // TODO: Remove — intentional segfault to verify CI captures plugin logs + *reinterpret_cast(0) = 0; + return HIPDNN_PLUGIN_STATUS_SUCCESS; } diff --git a/plugins/hipdnn-plugin/test/integration/matmul/simple_matmul.cpp b/plugins/hipdnn-plugin/test/integration/matmul/simple_matmul.cpp index 5d241beb..76942581 100644 --- a/plugins/hipdnn-plugin/test/integration/matmul/simple_matmul.cpp +++ b/plugins/hipdnn-plugin/test/integration/matmul/simple_matmul.cpp @@ -124,4 +124,8 @@ TEST(MatmulIntegrationTest, SimpleMatmul) { // Clean up. ASSERT_EQ(hipStreamDestroy(stream), HIPDNN_STATUS_SUCCESS); ASSERT_EQ(hipdnnDestroy(handle), HIPDNN_STATUS_SUCCESS); + + // TODO: Remove — intentional failure to verify CI captures rich output + // (env vars: HIPDNN_LOG_LEVEL, FUSILLI_LOG_INFO, FUSILLI_LOG_FILE). + FAIL() << "Intentional failure to verify CI diagnostic output is captured"; }