From ff1387e40e37458197c91b07acde03522403c5c8 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Fri, 25 Mar 2011 07:39:40 +0100 Subject: [PATCH] Modularized tst_headers --- qtqa/tests/auto/headers/headers.pro | 2 +- qtqa/tests/auto/headers/headersclean.cpp | 86 ------------------------------ qtqa/tests/auto/headers/tst_headers.cpp | 30 ++++++----- 3 files changed, 18 insertions(+), 100 deletions(-) delete mode 100644 qtqa/tests/auto/headers/headersclean.cpp diff --git a/qtqa/tests/auto/headers/headers.pro b/qtqa/tests/auto/headers/headers.pro index 74e1a02..703da7c 100644 --- a/qtqa/tests/auto/headers/headers.pro +++ b/qtqa/tests/auto/headers/headers.pro @@ -1,3 +1,3 @@ load(qttest_p4) -SOURCES += tst_headers.cpp headersclean.cpp +SOURCES += tst_headers.cpp QT = core diff --git a/qtqa/tests/auto/headers/headersclean.cpp b/qtqa/tests/auto/headers/headersclean.cpp deleted file mode 100644 index d2ca483..0000000 --- a/qtqa/tests/auto/headers/headersclean.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** 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, 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. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#define QT_NO_KEYWORDS -#define signals int -#define slots int -#define emit public:; -#define foreach public:; -#define forever public:; - -// include all of Qt here - -// core Qt -#include -#include -#include - -// extra -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// webkit: -#include - -// designer: -#include -#include - -// feature dependent: -#ifndef QT_NO_OPENVG -#include -#endif - -// removed in 4.7: -//#include - -// can't include this since it causes a linker error -//#include diff --git a/qtqa/tests/auto/headers/tst_headers.cpp b/qtqa/tests/auto/headers/tst_headers.cpp index b5c65ef..1da7592 100644 --- a/qtqa/tests/auto/headers/tst_headers.cpp +++ b/qtqa/tests/auto/headers/tst_headers.cpp @@ -74,7 +74,7 @@ private: const QRegExp copyrightPattern; const QRegExp licensePattern; const QRegExp moduleTest; - QString qtSrcDir; + QString qtModuleDir; }; tst_Headers::tst_Headers() : @@ -125,16 +125,19 @@ QStringList tst_Headers::getQDocFiles(const QString &path) void tst_Headers::initTestCase() { - qtSrcDir = QString::fromLocal8Bit(qgetenv("QTSRCDIR").isEmpty() - ? qgetenv("QTDIR") - : qgetenv("QTSRCDIR")); + qtModuleDir = QString::fromLocal8Bit(qgetenv("QT_MODULE_TO_TEST")); + QVERIFY2(!qtModuleDir.isEmpty(), "This test needs $QT_MODULE_TO_TEST, we need it to search data and etc."); - headers = getHeaders(qtSrcDir + "/src"); + if (!qtModuleDir.contains("phonon") && !qtModuleDir.contains("qttools")) { + headers = getHeaders(qtModuleDir + "/src"); #ifndef Q_OS_WINCE - // Windows CE does not have any headers on the test device - QVERIFY2(!headers.isEmpty(), "No headers were found, something is wrong with the auto test setup."); + // Windows CE does not have any headers on the test device + QVERIFY2(!headers.isEmpty(), "No headers were found, something is wrong with the auto test setup."); #endif + } else { + QTest::qWarn("Some test functions will be skipped, because we ignore them for phonon and qttools."); + } QVERIFY(copyrightPattern.isValid()); QVERIFY(licensePattern.isValid()); @@ -159,11 +162,11 @@ void tst_Headers::allSourceFilesData() }; for (int i = 0; i < sizeof(subdirs) / sizeof(subdirs[0]); ++i) { - sourceFiles << getCppFiles(qtSrcDir + subdirs[i]); + sourceFiles << getCppFiles(qtModuleDir + subdirs[i]); if (subdirs[i] != QLatin1String("/tests")) - sourceFiles << getQmlFiles(qtSrcDir + subdirs[i]); - sourceFiles << getHeaders(qtSrcDir + subdirs[i]); - sourceFiles << getQDocFiles(qtSrcDir + subdirs[i]); + sourceFiles << getQmlFiles(qtModuleDir + subdirs[i]); + sourceFiles << getHeaders(qtModuleDir + subdirs[i]); + sourceFiles << getQDocFiles(qtModuleDir + subdirs[i]); } foreach (QString sourceFile, sourceFiles) { @@ -171,7 +174,7 @@ void tst_Headers::allSourceFilesData() || sourceFile.contains("/tests/auto/qmake/testdata/bundle-spaces/main.cpp") || sourceFile.contains("/demos/embedded/fluidlauncher/pictureflow.cpp") || sourceFile.contains("/tools/porting/src/") - || sourceFile.contains("/tools/assistant/lib/fulltextsearch/") + || sourceFile.contains("/src/assistant/lib/fulltextsearch/") || sourceFile.endsWith("_pch.h.cpp") || sourceFile.endsWith(".ui.h") || sourceFile.endsWith("/src/corelib/global/qconfig.h") @@ -190,7 +193,7 @@ void tst_Headers::allHeadersData() QTest::addColumn("header"); if (headers.isEmpty()) - QSKIP("can't find any headers in your $QTDIR/src", SkipAll); + QSKIP("can't find any headers in your $QT_MODULE_TO_TEST/src.", SkipAll); foreach (QString hdr, headers) { if (hdr.contains("/3rdparty/") || hdr.endsWith("/src/tools/uic/qclass_lib_map.h")) @@ -283,6 +286,7 @@ void tst_Headers::macros() || header.contains("global/qconfig-") || header.endsWith("/qconfig.h") || header.contains("/src/tools/") || header.contains("/src/plugins/") || header.contains("/src/imports/") + || header.contains("/src/uitools/") || header.endsWith("/qiconset.h") || header.endsWith("/qfeatures.h") || header.endsWith("qt_windows.h")) return; -- 1.7.4.1.48.g5673d