summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2018-11-07 15:20:47 +0100
committerEdward Welbourne <edward.welbourne@qt.io>2020-05-05 15:34:15 +0200
commit1673e66047e22ec4ad7298c9bf38662e3bab5e32 (patch)
tree916bc9a26bea6654ef1d2c97030ff43d51ec2711
parent4eba90c9228423c82729c8678b9737ecf79974d7 (diff)
Re-order the sub-dirs to catch real culprits before things they break
A failure in testlib is apt to imply misleading failures elsewhere, so catch those first. Likewise, broken tools or corelib break everything. Put the rest of the list in alphabetic order. Restructure auto.pro to use conditional SUBDIRS += (in the right order) instead of setting SUBDIRS to a full list and then doing conditional SUBDIRS -= for most entries. This more closely matches the way the generated cmake config does things, although it still doesn't regenerate cleanly. Change-Id: Idc15326c3534eb4fdce55394269f2dfbc17fcd99 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
-rw-r--r--tests/auto/.prev_CMakeLists.txt41
-rw-r--r--tests/auto/CMakeLists.txt55
-rw-r--r--tests/auto/auto.pro68
3 files changed, 100 insertions, 64 deletions
diff --git a/tests/auto/.prev_CMakeLists.txt b/tests/auto/.prev_CMakeLists.txt
new file mode 100644
index 0000000000..6bbd881af3
--- /dev/null
+++ b/tests/auto/.prev_CMakeLists.txt
@@ -0,0 +1,41 @@
+# Generated from auto.pro.
+
+add_subdirectory(testlib)
+add_subdirectory(other)
+if(UIKIT)
+ add_subdirectory(corelib)
+endif()
+if(TARGET Qt::Gui)
+ add_subdirectory(gui)
+endif()
+if(QT_FEATURE_process AND NOT CMAKE_CROSSCOMPILING)
+ add_subdirectory(tools)
+endif()
+if(NOT CMAKE_CROSSCOMPILING)
+ add_subdirectory(cmake)
+ add_subdirectory(installed_cmake)
+endif()
+if(TARGET Qt::Concurrent)
+ add_subdirectory(concurrent)
+endif()
+if((((TARGET Qt::DBus AND NOT CMAKE_CROSSCOMPILING AND NOT boot2qt) AND (system("dbus-send --session --type=signal / local.AutotestCheck.Hello >_ss_QMAKE_SYSTEM_NULL_DEVICE 2>&1")))))
+ add_subdirectory(dbus)
+endif()
+if(TARGET Qt::Network AND NOT WINRT)
+ add_subdirectory(network)
+endif()
+if(TARGET Qt::OpenGL AND NOT WINRT)
+ add_subdirectory(opengl)
+endif()
+if(TARGET Qt::PrintSupport)
+ add_subdirectory(printsupport)
+endif()
+if(TARGET Qt::Sql)
+ add_subdirectory(sql)
+endif()
+if(TARGET Qt::Widgets)
+ add_subdirectory(widgets)
+endif()
+if(TARGET Qt::Xml)
+ add_subdirectory(xml)
+endif()
diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt
index 480f986830..703459bb9d 100644
--- a/tests/auto/CMakeLists.txt
+++ b/tests/auto/CMakeLists.txt
@@ -1,6 +1,27 @@
-# Generated from auto.pro.
+# special case begin
+# 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)
+# add_subdirectory(cmake) ## FIXME: Does this still make sense in this form?
+if (TARGET Qt::Concurrent)
+ add_subdirectory(concurrent)
+endif()
+
if (QT_FEATURE_dbus)
set(run_dbus_tests ON)
if(NOT CMAKE_CROSSCOMPILING AND TARGET Qt::DBus)
@@ -24,43 +45,29 @@ if (QT_FEATURE_dbus)
add_subdirectory(dbus)
endif()
endif()
+
if (TARGET Qt::Gui)
add_subdirectory(gui)
endif()
-
-# special case begin
-# Build only corelib and gui tests when targeting uikit (iOS),
-# because the script can't handle the SUBDIRS assignment well.
-if (UIKIT)
- return()
-endif()
-# special case end
-
if (TARGET Qt::Network AND NOT WINRT)
add_subdirectory(network)
endif()
if (TARGET Qt::OpenGL AND NOT WINRT)
add_subdirectory(opengl)
endif()
+if (TARGET Qt::PrintSupport)
+ add_subdirectory(printsupport)
+endif()
if (TARGET Qt::Sql)
add_subdirectory(sql)
endif()
-add_subdirectory(testlib)
-if (NOT CMAKE_CROSSCOMPILE AND QT_FEATURE_process)
- add_subdirectory(tools)
-endif()
-if (TARGET Qt::Xml)
- add_subdirectory(xml)
-endif()
-if (TARGET Qt::Concurrent)
- add_subdirectory(concurrent)
-endif()
-add_subdirectory(other)
if (TARGET Qt::Widgets)
add_subdirectory(widgets)
endif()
-if (TARGET Qt::PrintSupport)
- add_subdirectory(printsupport)
+if (TARGET Qt::Xml)
+ add_subdirectory(xml)
endif()
-# add_subdirectory(cmake) ## FIXME: Does this still make sense in this form?
# add_subdirectory(installed_cmake) ## FIXME: Does this still make sense in this form?
+add_subdirectory(other)
+
+# special case end
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index c9d1da8649..04725c16b5 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -4,51 +4,39 @@ TEMPLATE = subdirs
# b88acae7a8e773c307e44f84da037d01d19e60f7 in qt5.
boot2qt:qtConfig(private_tests): return()
-SUBDIRS += \
- corelib \
- dbus \
- gui \
- network \
- opengl \
- sql \
- testlib \
- tools \
- xml \
- concurrent \
- other \
- widgets \
- printsupport \
- cmake \
- installed_cmake
-
-installed_cmake.depends = cmake
-
-uikit: SUBDIRS = corelib gui
-
-cross_compile: SUBDIRS -= tools cmake installed_cmake
-else:!qtConfig(process): SUBDIRS -= tools
-winrt|!qtHaveModule(opengl): SUBDIRS -= opengl
-!qtHaveModule(gui): SUBDIRS -= gui
-!qtHaveModule(widgets): SUBDIRS -= widgets
-!qtHaveModule(printsupport): SUBDIRS -= printsupport
-!qtHaveModule(concurrent): SUBDIRS -= concurrent
-winrt|!qtHaveModule(network): SUBDIRS -= network
-!qtHaveModule(dbus): SUBDIRS -= dbus
-!qtHaveModule(xml): SUBDIRS -= xml
-!qtHaveModule(sql): SUBDIRS -= sql
+uikit {
+ SUBDIRS = corelib
+ qtHaveModule(gui): SUBDIRS += gui
+ return()
+}
-# Disable the QtDBus tests if we can't connect to the session bus
-!cross_compile:qtHaveModule(dbus) {
- !system("dbus-send --session --type=signal / local.AutotestCheck.Hello >$$QMAKE_SYSTEM_NULL_DEVICE 2>&1") {
+# Order by dependency [*], then alphabetic. [*] If bugs in part A of
+# our source would break tests of part B, then test A before B.
+SUBDIRS += testlib
+qtConfig(process):!cross_compile: SUBDIRS += tools
+SUBDIRS += corelib
+!cross_compile: SUBDIRS += cmake
+qtHaveModule(concurrent): SUBDIRS += concurrent
+# QTBUG-63915: boot2qt fails dbus
+qtHaveModule(dbus):!cross_compile:!boot2qt {
+ # Disable the QtDBus tests if we can't connect to the session bus
+ system("dbus-send --session --type=signal / local.AutotestCheck.Hello >$$QMAKE_SYSTEM_NULL_DEVICE 2>&1") {
+ SUBDIRS += dbus
+ } else {
qtConfig(dbus-linked): \
error("QtDBus is enabled but session bus is not available. Please check the installation.")
else: \
warning("QtDBus is enabled with runtime support, but session bus is not available. Skipping QtDBus tests.")
- SUBDIRS -= dbus
}
}
+qtHaveModule(gui): SUBDIRS += gui
+qtHaveModule(network):!winrt: SUBDIRS += network
+qtHaveModule(opengl):!winrt: SUBDIRS += opengl
+qtHaveModule(printsupport): SUBDIRS += printsupport
+qtHaveModule(sql): SUBDIRS += sql
+qtHaveModule(widgets): SUBDIRS += widgets
+qtHaveModule(xml): SUBDIRS += xml
+!cross_compile: SUBDIRS += installed_cmake
+SUBDIRS += other
-# QTBUG-63915
-boot2qt: {
- SUBDIRS -= dbus
-}
+installed_cmake.depends = cmake