Add a test for all QtBase modules.
authorStephen Kelly <stephen.kelly@kdab.com>
Wed, 18 Jul 2012 15:35:52 +0000 (17:35 +0200)
committerQt by Nokia <qt-info@nokia.com>
Mon, 23 Jul 2012 05:00:04 +0000 (07:00 +0200)
Change-Id: Ib87e56f063603d474e232a137246ab6a60f63a23
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
tests/auto/cmake/CMakeLists.txt
tests/auto/cmake/test_modules/CMakeLists.txt [new file with mode: 0644]
tests/auto/cmake/test_modules/main.cpp [new file with mode: 0644]

index 46d1d78..54f0322 100644 (file)
@@ -69,3 +69,4 @@ endif()
 expect_pass(test_multiple_find_package)
 expect_pass(test_add_resources_delayed_file)
 expect_pass(test_private_includes)
+expect_pass(test_modules)
diff --git a/tests/auto/cmake/test_modules/CMakeLists.txt b/tests/auto/cmake/test_modules/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8775cea
--- /dev/null
@@ -0,0 +1,43 @@
+
+cmake_minimum_required(VERSION 2.8)
+
+project(test_modules)
+
+set(qtbase_modules
+    Core
+    Concurrent
+    Gui
+    Widgets
+    Network
+    OpenGL
+    Sql
+    Test
+    Xml
+)
+
+if (UNIX AND NOT APPLE)
+    add_definitions(-DEXPECT_DBUS_AVAILABLE)
+    list(APPEND qtbase_modules DBus)
+endif()
+
+foreach(_module ${qtbase_modules})
+    find_package(Qt5${_module} REQUIRED)
+
+    include_directories(
+        ${Qt5${_module}_INCLUDE_DIRS}
+    )
+
+    add_definitions(
+        ${Qt5${_module}_DEFINITIONS}
+    )
+endforeach()
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
+
+add_executable(mainapp main.cpp)
+
+foreach(_module ${qtbase_modules})
+    target_link_libraries(mainapp
+        ${Qt5${_module}_LIBRARIES}
+    )
+endforeach()
diff --git a/tests/auto/cmake/test_modules/main.cpp b/tests/auto/cmake/test_modules/main.cpp
new file mode 100644 (file)
index 0000000..59e5021
--- /dev/null
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QString>
+#include <qtconcurrentiteratekernel.h>
+#include <QImage>
+#include <QHostAddress>
+#include <QGLBuffer>
+#include <QSqlQuery>
+#include <QtTest>
+#include <QWidget>
+#include <QDomDocument>
+
+#ifdef EXPECT_DBUS_AVAILABLE
+#include <QDBusMessage>
+#endif
+
+int main(int argc, char **argv)
+{
+    QObject object;
+
+    QtConcurrent::BlockSizeManager blockSizeManager(42);
+
+    QHostAddress hostAddress;
+
+    QGLBuffer glBuffer;
+
+    QSqlQuery sqlQuery;
+
+    QSignalSpy signalSpy(&object, SIGNAL(destroyed()));
+
+    QWidget widget;
+
+    QDomDocument domDocument;
+
+#ifdef EXPECT_DBUS_AVAILABLE
+    QDBusMessage dBusMessage;
+#endif
+
+    return 0;
+}