summaryrefslogtreecommitdiffstats
path: root/tests/auto/compilerwarnings
diff options
context:
space:
mode:
authorRohan McGovern <rohan.mcgovern@nokia.com>2010-05-19 11:35:48 +1000
committerRohan McGovern <rohan.mcgovern@nokia.com>2010-05-19 11:39:40 +1000
commitf29f46107204ea542ec899915508a69f520f6159 (patch)
treefe7ae011aecf15686765a3de18601b98d8fa2b9b /tests/auto/compilerwarnings
parentdc2e494acbd0a8e371c9fd92aef2da6975c5cccb (diff)
Fixed tst_compilerwarnings test failure due to icecc node failures.
When an icecc node has some system error, icecc on the client side outputs a warning. Since it's able to recover and the warning has nothing to do with the code, we should ignore it. Other distributed compile tools will have similar issues, but no attempt has been made to cover them.
Diffstat (limited to 'tests/auto/compilerwarnings')
-rw-r--r--tests/auto/compilerwarnings/tst_compilerwarnings.cpp30
1 files changed, 27 insertions, 3 deletions
diff --git a/tests/auto/compilerwarnings/tst_compilerwarnings.cpp b/tests/auto/compilerwarnings/tst_compilerwarnings.cpp
index f910a18d94..82c327a677 100644
--- a/tests/auto/compilerwarnings/tst_compilerwarnings.cpp
+++ b/tests/auto/compilerwarnings/tst_compilerwarnings.cpp
@@ -62,6 +62,9 @@ class tst_CompilerWarnings: public QObject
private slots:
void warnings_data();
void warnings();
+
+private:
+ bool shouldIgnoreWarning(QString const&);
};
#if 0
@@ -242,16 +245,37 @@ void tst_CompilerWarnings::warnings()
if (!errs.isEmpty()) {
errList = errs.split("\n");
qDebug() << "Arguments:" << args;
- foreach (QString err, errList) {
- qDebug() << err;
+ QStringList validErrors;
+ foreach (QString const& err, errList) {
+ bool ignore = shouldIgnoreWarning(err);
+ qDebug() << err << (ignore ? " [ignored]" : "");
+ if (!ignore) {
+ validErrors << err;
+ }
}
+ errList = validErrors;
}
QCOMPARE(errList.count(), 0); // verbose info how many lines of errors in output
- QVERIFY(errs.isEmpty());
tmpQSourceFile.remove();
}
+bool tst_CompilerWarnings::shouldIgnoreWarning(QString const& warning)
+{
+ if (warning.isEmpty()) {
+ return true;
+ }
+
+ // icecc outputs warnings if some icecc node breaks
+ if (warning.startsWith("ICECC[")) {
+ return true;
+ }
+
+ // Add more bogus warnings here
+
+ return false;
+}
+
QTEST_APPLESS_MAIN(tst_CompilerWarnings)
#include "tst_compilerwarnings.moc"