summaryrefslogtreecommitdiffstats
path: root/tests/auto/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/CMakeLists.txt')
-rw-r--r--tests/auto/CMakeLists.txt104
1 files changed, 75 insertions, 29 deletions
diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt
index 2452e1a5d8..2a75fb44d5 100644
--- a/tests/auto/CMakeLists.txt
+++ b/tests/auto/CMakeLists.txt
@@ -1,35 +1,15 @@
-# special case begin
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
# Order by dependency [*], then alphabetic. [*] If bugs in part A of
# our source would break tests of part B, then test A before B.
-# Build only corelib and gui tests when targeting uikit (iOS),
-# because the script can't handle the SUBDIRS assignment well.
-if (UIKIT)
- add_subdirectory(corelib)
- if (TARGET Qt::Gui)
- add_subdirectory(gui)
- endif()
- return()
-endif()
-
-add_subdirectory(testlib)
-if (NOT CMAKE_CROSSCOMPILE AND QT_FEATURE_process)
- add_subdirectory(tools)
-endif()
-add_subdirectory(corelib)
-# special case begin
-if (TARGET Qt::Xml AND TARGET Qt::Sql AND TARGET Qt::Network)
- add_subdirectory(cmake)
-endif()
-# special case end
-if (TARGET Qt::Concurrent)
- add_subdirectory(concurrent)
-endif()
-
+set(run_dbus_tests OFF)
if (QT_FEATURE_dbus)
set(run_dbus_tests ON)
if(NOT CMAKE_CROSSCOMPILING AND TARGET Qt::DBus)
execute_process(COMMAND dbus-send --session --type=signal / local.AutotestCheck.Hello
+ TIMEOUT 5
RESULT_VARIABLE dbus_session_test
OUTPUT_QUIET ERROR_QUIET)
if(NOT "${dbus_session_test}" STREQUAL "0")
@@ -45,9 +25,77 @@ if (QT_FEATURE_dbus)
endif()
endif()
endif()
- if(run_dbus_tests)
- add_subdirectory(dbus)
+endif()
+
+if(UIKIT)
+ # For now, only build CMake auto tests when QT_BUILD_MINIMAL_STATIC_TEST
+ # is a requested (which is basically what CI will build).
+ # The reason is that qt_internal_add_test doesn't use qt_add_executable
+ # at the moment, which means none of the required iOS specific finalizers
+ # are run.
+ if(QT_BUILD_MINIMAL_STATIC_TESTS)
+ add_subdirectory(cmake)
+ return()
endif()
+
+ # Build only corelib and gui tests when targeting uikit (iOS),
+ # because the script can't handle the SUBDIRS assignment well.
+ add_subdirectory(corelib)
+ if (TARGET Qt::Gui)
+ add_subdirectory(gui)
+ endif()
+ return()
+endif()
+
+# Limit set of tests to run for Android multi-ABI Qt builds.
+if(QT_BUILD_MINIMAL_ANDROID_MULTI_ABI_TESTS)
+ add_subdirectory(cmake)
+ add_subdirectory(corelib/kernel/qmath)
+ add_subdirectory(widgets/effects/qpixmapfilter)
+ add_subdirectory(corelib/platform)
+ return()
+endif()
+
+if(QT_BUILD_WASM_BATCHED_TESTS)
+ add_subdirectory(corelib/io/qdiriterator)
+ add_subdirectory(corelib/io/largefile)
+ add_subdirectory(corelib/io/qdataurl)
+ add_subdirectory(corelib/io/qbuffer)
+ add_subdirectory(corelib/io/qabstractfileengine)
+ add_subdirectory(corelib/io/qsettings)
+ add_subdirectory(corelib/io/qfileselector)
+ add_subdirectory(corelib/io/qfile)
+ add_subdirectory(corelib/serialization)
+ add_subdirectory(corelib/text)
+ add_subdirectory(corelib/thread)
+ add_subdirectory(wasm)
+ return()
+endif()
+
+if(WASM)
+ add_subdirectory(wasm)
+endif()
+
+add_subdirectory(testlib)
+if(NOT CMAKE_CROSSCOMPILING AND QT_FEATURE_process)
+ add_subdirectory(tools)
+endif()
+add_subdirectory(corelib)
+if (TARGET Qt::Xml AND TARGET Qt::Sql AND TARGET Qt::Network)
+ add_subdirectory(cmake)
+endif()
+
+# Limit set of tests to run for static Qt builds.
+if(QT_BUILD_MINIMAL_STATIC_TESTS)
+ return()
+endif()
+
+if (TARGET Qt::Concurrent)
+ add_subdirectory(concurrent)
+endif()
+
+if(run_dbus_tests)
+ add_subdirectory(dbus)
endif()
if (TARGET Qt::Gui)
@@ -73,5 +121,3 @@ if (TARGET Qt::Xml)
endif()
# add_subdirectory(installed_cmake) ## FIXME: Does this still make sense in this form?
add_subdirectory(other)
-
-# special case end