Skip to content

Commit a53e107

Browse files
committed
Add option to trim symbol from the full test name.
Improve formatting and remove obsolete function argument.
1 parent 0175ce3 commit a53e107

2 files changed

Lines changed: 16 additions & 13 deletions

File tree

cmake/FindPytest.cmake

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ if (Pytest_FOUND AND NOT TARGET Pytest::Pytest)
5656
function(pytest_discover_tests NAME)
5757
cmake_parse_arguments(
5858
PARSE_ARGV 1 "" "STRIP_PARAM_BRACKETS;INCLUDE_FILE_PATH;BUNDLE_TESTS"
59-
"WORKING_DIRECTORY;TRIM_FROM_NAME"
59+
"WORKING_DIRECTORY;TRIM_FROM_NAME;TRIM_FROM_FULL_NAME"
6060
"LIBRARY_PATH_PREPEND;PYTHON_PATH_PREPEND;ENVIRONMENT;DEPENDS"
6161
)
6262

@@ -100,13 +100,13 @@ if (Pytest_FOUND AND NOT TARGET Pytest::Pytest)
100100
set(_BUNDLE_TESTS $ENV{BUNDLE_PYTHON_TESTS})
101101
endif()
102102

103-
# Serialize environment if necessary.
104-
set(ENCODED_ENVIRONMENT "")
105-
foreach(env ${_ENVIRONMENT})
106-
string(REPLACE [[\]] [\\]] env ${env})
107-
string(REPLACE [[;]] [\\;]] env ${env})
108-
list(APPEND ENCODED_ENVIRONMENT ${env})
109-
endforeach()
103+
# Serialize environment if necessary.
104+
set(ENCODED_ENVIRONMENT "")
105+
foreach(env ${_ENVIRONMENT})
106+
string(REPLACE [[\]] [\\]] env ${env})
107+
string(REPLACE [[;]] [\\;]] env ${env})
108+
list(APPEND ENCODED_ENVIRONMENT ${env})
109+
endforeach()
110110

111111
set(_include_file "${CMAKE_CURRENT_BINARY_DIR}/${NAME}_include.cmake")
112112
set(_tests_file "${CMAKE_CURRENT_BINARY_DIR}/${NAME}_tests.cmake")
@@ -123,11 +123,11 @@ if (Pytest_FOUND AND NOT TARGET Pytest::Pytest)
123123
-D "LIBRARY_PATH=${LIBRARY_PATH}"
124124
-D "PYTHON_PATH=${PYTHON_PATH}"
125125
-D "TRIM_FROM_NAME=${_TRIM_FROM_NAME}"
126+
-D "TRIM_FROM_FULL_NAME=${_TRIM_FROM_FULL_NAME}"
126127
-D "STRIP_PARAM_BRACKETS=${_STRIP_PARAM_BRACKETS}"
127128
-D "INCLUDE_FILE_PATH=${_INCLUDE_FILE_PATH}"
128129
-D "WORKING_DIRECTORY=${_WORKING_DIRECTORY}"
129130
-D "ENVIRONMENT=${ENCODED_ENVIRONMENT}"
130-
-D "PROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}"
131131
-D "CTEST_FILE=${_tests_file}"
132132
-P "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/PytestAddTests.cmake")
133133

cmake/PytestAddTests.cmake

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ if(CMAKE_SCRIPT_MODE_FILE)
6161
WORKING_DIRECTORY ${WORKING_DIRECTORY}
6262
)
6363

64-
string(REGEX MATCH "=+ ERRORS =+(.*)" _error ${_output_lines})
64+
string(REGEX MATCH "=+ ERRORS =+(.*)" _error "${_output_lines}")
6565

6666
if (_error)
6767
message(${_error})
@@ -87,9 +87,8 @@ if(CMAKE_SCRIPT_MODE_FILE)
8787
set(_func ${CMAKE_MATCH_4})
8888

8989
if (TRIM_FROM_NAME)
90-
set(pattern "${TRIM_FROM_NAME}")
91-
string(REGEX REPLACE "${pattern}" "" _class "${_class}")
92-
string(REGEX REPLACE "${pattern}" "" _func "${_func}")
90+
string(REGEX REPLACE "${TRIM_FROM_NAME}" "" _class "${_class}")
91+
string(REGEX REPLACE "${TRIM_FROM_NAME}" "" _func "${_func}")
9392
endif()
9493

9594
if (_class)
@@ -108,6 +107,10 @@ if(CMAKE_SCRIPT_MODE_FILE)
108107
set(test_name "${_file}.${test_name}")
109108
endif()
110109

110+
if (TRIM_FROM_FULL_NAME)
111+
string(REGEX REPLACE "${TRIM_FROM_FULL_NAME}" "" test_name "${test_name}")
112+
endif()
113+
111114
set(test_name "${TEST_GROUP_NAME}.${test_name}")
112115
set(test_case "${WORKING_DIRECTORY}/${line}")
113116

0 commit comments

Comments
 (0)