From 503d761c0867760b96d6f7f6d44854926c6b7e0c Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Fri, 28 Feb 2014 17:18:09 +0100 Subject: Print when logging rule is invalid. Print a warning when an invalid logging rule is parsed. Change-Id: I3bf9a6df4053d36b3803652b2faa86168d5222bc Reviewed-by: Friedemann Kleint --- src/corelib/io/qloggingregistry.cpp | 6 +++++- .../auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp | 10 ++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/corelib/io/qloggingregistry.cpp b/src/corelib/io/qloggingregistry.cpp index 23f1ffbd16..d79de3f0e8 100644 --- a/src/corelib/io/qloggingregistry.cpp +++ b/src/corelib/io/qloggingregistry.cpp @@ -224,7 +224,11 @@ void QLoggingSettingsParser::setContent(QTextStream &stream) const QStringRef value = line.midRef(equalPos + 1); bool enabled = (value.compare(QLatin1String("true"), Qt::CaseInsensitive) == 0); - _rules.append(QLoggingRule(pattern, enabled)); + QLoggingRule rule(pattern, enabled); + if (rule.flags != QLoggingRule::Invalid) + _rules.append(rule); + else + warnMsg("Ignoring malformed logging rule: '%s'", line.toUtf8().constData()); } } } diff --git a/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp b/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp index 4318396bd4..32ce91dc6a 100644 --- a/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp +++ b/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp @@ -302,6 +302,16 @@ private slots: QVERIFY(!cat.isWarningEnabled()); } + + void QLoggingRegistry_checkErrors() + { + QLoggingSettingsParser parser; + QString warnMsg = QString("Ignoring malformed logging rule: '***=false'"); + QTest::ignoreMessage(QtWarningMsg, warnMsg.toLocal8Bit().constData()); + parser.setContent("[Rules]\n" + "***=false\n"); + QVERIFY(parser.rules().isEmpty()); + } }; QTEST_MAIN(tst_QLoggingRegistry) -- cgit v1.2.3