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>
This commit is contained in:
Oswald Buddenhagen 2012-12-06 17:16:56 +01:00 committed by The Qt Project
parent 6dd9cc8aa8
commit 6694d39131
4 changed files with 22 additions and 80 deletions

View File

@ -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;
}

View File

@ -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

View File

@ -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

View File

@ -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