From e03b32cf830ffa027ae94923a6f38095738169b3 Mon Sep 17 00:00:00 2001 From: ahcorde Date: Wed, 29 Jun 2022 12:44:22 -0700 Subject: [PATCH 1/2] Use pytest to generate junit xml files for python tests Signed-off-by: ahcorde --- .github/ci/packages.apt | 1 + python/CMakeLists.txt | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/.github/ci/packages.apt b/.github/ci/packages.apt index 0481d197ea..555e4d2446 100644 --- a/.github/ci/packages.apt +++ b/.github/ci/packages.apt @@ -23,6 +23,7 @@ libxi-dev libxmu-dev python3-distutils python3-pybind11 +python3-pytest qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings qml-module-qtqml-models2 diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index bd08e206db..d1b116a404 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -86,9 +86,25 @@ if (BUILD_TESTING) testFixture_TEST ) + execute_process(COMMAND "${PYTHON_EXECUTABLE}" -m pytest --version + OUTPUT_VARIABLE PYTEST_output + ERROR_VARIABLE PYTEST_error + RESULT_VARIABLE PYTEST_result) + if(${PYTEST_result} EQUAL 0) + set(pytest_FOUND TRUE) + else() + message("") + message(WARNING "Pytest package not available: ${PYTEST_error}") + endif() + foreach (test ${python_tests}) - add_test(NAME ${test}.py COMMAND - "${PYTHON_EXECUTABLE}" "${CMAKE_SOURCE_DIR}/python/test/${test}.py") + if (pytest_FOUND) + add_test(NAME ${test}.py COMMAND + "${PYTHON_EXECUTABLE}" -m pytest "${CMAKE_SOURCE_DIR}/python/test/${test}.py" --junitxml "${CMAKE_BINARY_DIR}/test_results/${test}.xml") + else() + add_test(NAME ${test}.py COMMAND + "${PYTHON_EXECUTABLE}" "${CMAKE_SOURCE_DIR}/python/test/${test}.py") + endif() set(_env_vars) list(APPEND _env_vars "PYTHONPATH=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/python/") From 4ef6016e24a86b2abe209b42cfebe0255a6632a8 Mon Sep 17 00:00:00 2001 From: ahcorde Date: Thu, 30 Jun 2022 14:49:32 -0700 Subject: [PATCH 2/2] try to make python test appears in jenkins Signed-off-by: ahcorde --- python/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index d1b116a404..13ee16b004 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -100,7 +100,7 @@ if (BUILD_TESTING) foreach (test ${python_tests}) if (pytest_FOUND) add_test(NAME ${test}.py COMMAND - "${PYTHON_EXECUTABLE}" -m pytest "${CMAKE_SOURCE_DIR}/python/test/${test}.py" --junitxml "${CMAKE_BINARY_DIR}/test_results/${test}.xml") + "${PYTHON_EXECUTABLE}" -m pytest "${CMAKE_SOURCE_DIR}/python/test/${test}.py" --junitxml "${CMAKE_BINARY_DIR}/test_results/UNIT_${test}.xml") else() add_test(NAME ${test}.py COMMAND "${PYTHON_EXECUTABLE}" "${CMAKE_SOURCE_DIR}/python/test/${test}.py")