summaryrefslogtreecommitdiffstats
path: root/cmake/QtTestHelpers.cmake
diff options
context:
space:
mode:
authorAlexey Edelev <alexey.edelev@qt.io>2022-02-09 16:24:24 +0100
committerAlexey Edelev <alexey.edelev@qt.io>2022-02-11 21:54:44 +0100
commitfdf5d11ff6f3f5034d7d7f7664f4cc76deb26ef5 (patch)
tree22e1c4b93f718930b8c40c2ab68f1b2bc790f97e /cmake/QtTestHelpers.cmake
parent52492ff7209d2c91cbd0d549282459b58fbf3b0f (diff)
CMake: Add BUILTIN_TESTDATA option to qt_internal_add_test
Multiple tests use qt_internal_add_resource that copies the functionality that is already implemented inside the qt_internal_add_test function. Simplify these test by replacing the qt_internal_add_resource call with the new BUILTIN_TESTDATA option. Change-Id: I18475b817d6f87264f0de53817d6c26c5ccab4e2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake/QtTestHelpers.cmake')
-rw-r--r--cmake/QtTestHelpers.cmake35
1 files changed, 31 insertions, 4 deletions
diff --git a/cmake/QtTestHelpers.cmake b/cmake/QtTestHelpers.cmake
index a076dd3fd7..c8a8d91fd7 100644
--- a/cmake/QtTestHelpers.cmake
+++ b/cmake/QtTestHelpers.cmake
@@ -181,12 +181,39 @@ endfunction()
# You may avoid test wrapping by either passing NO_WRAPPER option or switching QT_NO_TEST_WRAPPERS
# to ON. This is helpful if you want to use internal CMake tools within tests, like memory or
# sanitizer checks. See https://cmake.org/cmake/help/v3.19/manual/ctest.1.html#ctest-memcheck-step
+# Arguments:
+# BUILTIN_TESTDATA the option forces adding the provded TESTDATA to resources.
function(qt_internal_add_test name)
# EXCEPTIONS is a noop as they are enabled by default.
+ set(optional_args
+ RUN_SERIAL
+ EXCEPTIONS
+ NO_EXCEPTIONS
+ GUI
+ QMLTEST
+ CATCH
+ LOWDPI
+ NO_WRAPPER
+ BUILTIN_TESTDATA
+ )
+ set(single_value_args
+ OUTPUT_DIRECTORY
+ WORKING_DIRECTORY
+ TIMEOUT
+ VERSION
+ )
+ set(multi_value_args
+ QML_IMPORTPATH
+ TESTDATA
+ QT_TEST_SERVER_LIST
+ ${__default_private_args}
+ ${__default_public_args}
+ )
qt_parse_all_arguments(arg "qt_add_test"
- "RUN_SERIAL;EXCEPTIONS;NO_EXCEPTIONS;GUI;QMLTEST;CATCH;LOWDPI;NO_WRAPPER"
- "OUTPUT_DIRECTORY;WORKING_DIRECTORY;TIMEOUT;VERSION"
- "QML_IMPORTPATH;TESTDATA;QT_TEST_SERVER_LIST;${__default_private_args};${__default_public_args}" ${ARGN}
+ "${optional_args}"
+ "${single_value_args}"
+ "${multi_value_args}"
+ ${ARGN}
)
if (NOT arg_OUTPUT_DIRECTORY)
@@ -364,7 +391,7 @@ function(qt_internal_add_test name)
endif()
endif()
- if(ANDROID OR IOS OR INTEGRITY)
+ if(ANDROID OR IOS OR INTEGRITY OR arg_BUILTIN_TESTDATA)
set(builtin_testdata TRUE)
endif()