diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2012-12-06 17:16:56 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-12-11 13:37:57 +0100 |
commit | 6694d391316a490674ecb97f64e1c2e82328d2ce (patch) | |
tree | 42561ca04078ce0d0f1af1babe39d009c1a4c0e0 | |
parent | 6dd9cc8aa8f85a00f1c6448eaf1382af23284195 (diff) |
centralize headersclean test
so other modules can actually re-use the code without referencing qtbase
sources.
Change-Id: Id66f07b476e539273dd32455e7642a17d7e5d0ef
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
-rw-r--r-- | mkspecs/features/data/headersclean/tst_headersclean.cpp.in (renamed from tests/auto/other/headersclean/tst_headersclean.cpp) | 4 | ||||
-rw-r--r-- | mkspecs/features/qt_headersclean.prf (renamed from tests/auto/other/headersclean/headersclean.pri) | 24 | ||||
-rw-r--r-- | tests/auto/other/headersclean/headersclean.pro | 4 | ||||
-rw-r--r-- | tests/auto/other/headersclean/qt_headersclean_headers.h | 70 |
4 files changed, 22 insertions, 80 deletions
diff --git a/tests/auto/other/headersclean/tst_headersclean.cpp b/mkspecs/features/data/headersclean/tst_headersclean.cpp.in index 91abca4373..1784615dd5 100644 --- a/tests/auto/other/headersclean/tst_headersclean.cpp +++ b/mkspecs/features/data/headersclean/tst_headersclean.cpp.in @@ -45,11 +45,11 @@ #define foreach public:; #define forever public:; -#include <qt_headersclean_headers.h> +$${includes} #include <QtCore/qglobal.h> int main() { - qWarning("This is a compile test only"); + qWarning(\"This is a compile test only\"); return 0; } diff --git a/tests/auto/other/headersclean/headersclean.pri b/mkspecs/features/qt_headersclean.prf index c56d432a42..4128392997 100644 --- a/tests/auto/other/headersclean/headersclean.pri +++ b/mkspecs/features/qt_headersclean.prf @@ -1,9 +1,9 @@ # The headersclean test attempts to ensure all public Qt headers # abide by various rules. # -# To reuse this test outside of the qtbase module, -# include this .pri and create a qt_headersclean_headers.h which includes -# the headers you'd like to test. +# To use this test, create a project which contains nothing else than a +# QT= line with the modules you want to test (no presence conditionals needed), +# followed by load(qt_headersclean). *-g++*: QMAKE_CXXFLAGS += -W -Wall -Wextra -Werror @@ -33,7 +33,19 @@ QMAKE_CXXFLAGS += -DQT_NO_CAST_TO_ASCII \ -DQT_USE_FAST_OPERATOR_PLUS TARGET = tst_headersclean -SOURCES += $$PWD/tst_headersclean.cpp -# qt_headersclean_headers.h should be alongside the .pro file -INCLUDEPATH += $$_PRO_FILE_PWD_ +includes = +for(q, QT) { + qn = $$eval(QT.$${q}.name) + isEmpty(qn): \ + QT -= $$q + else: \ + includes += "$${LITERAL_HASH}include <$$qn/$$qn>" +} +includes = $$join(includes, $$escape_expand(\\n)) + +testfile.input = $$PWD/data/headersclean/tst_headersclean.cpp.in +testfile.output = $$OUT_PWD/tst_headersclean.cpp +QMAKE_SUBSTITUTES += testfile + +SOURCES += $$testfile.output diff --git a/tests/auto/other/headersclean/headersclean.pro b/tests/auto/other/headersclean/headersclean.pro index 419c2e97d5..4965064b88 100644 --- a/tests/auto/other/headersclean/headersclean.pro +++ b/tests/auto/other/headersclean/headersclean.pro @@ -1,3 +1,3 @@ -QT = core testlib gui widgets -include(headersclean.pri) +QT = core concurrent network dbus xml sql testlib gui opengl widgets printsupport platformsupport +load(qt_headersclean) DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 diff --git a/tests/auto/other/headersclean/qt_headersclean_headers.h b/tests/auto/other/headersclean/qt_headersclean_headers.h deleted file mode 100644 index cab5770790..0000000000 --- a/tests/auto/other/headersclean/qt_headersclean_headers.h +++ /dev/null @@ -1,70 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, 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, Digia gives you certain additional -** rights. These rights are described in the Digia 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. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QT_HEADERSCLEAN_HEADERS -#define QT_HEADERSCLEAN_HEADERS - -/* - This file should include all the headers to be tested by the headersclean - test. It may be copied and customized for each module. -*/ - -#include <QtCore/QtCore> -#include <QtConcurrent/QtConcurrent> -#include <QtTest/QtTest> - -#include <QtNetwork/QtNetwork> -#include <QtXml/QtXml> -#include <QtSql/QtSql> -#include <QtGui/QtGui> -#include <QtWidgets/QtWidgets> -#include <QtPrintSupport/QtPrintSupport> -#include <QtPlatformSupport/QtPlatformSupport> - -#ifndef QT_NO_OPENGL -#include <QtOpenGL/QtOpenGL> -#endif - -#if !defined(QT_NO_DBUS) && defined(Q_OS_UNIX) -#include <QtDBus/QtDBus> -#endif - -#endif |