Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 21 additions & 6 deletions plugins/hipdnn-plugin/build_tools/FusilliPluginTestUtils.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ install(
# SRCS <file> [<file> ...]
# DEPS <dep> [<dep> ...]
# [COMPILE_DEFS <def> [<def> ...]]
# [ENV <var=value> [<var=value> ...]]
# )
#
# NAME
Expand All @@ -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)
Expand Down Expand Up @@ -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
Expand All @@ -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()
4 changes: 4 additions & 0 deletions plugins/hipdnn-plugin/src/fusilli_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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<volatile int *>(0) = 0;

return HIPDNN_PLUGIN_STATUS_SUCCESS;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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";
}
Loading