summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-07-14 16:48:25 +0200
committerLars Knoll <lars.knoll@qt.io>2016-08-08 09:48:38 +0000
commit22d1351ddea193f5c00d4ae12229358dea826c62 (patch)
tree11035ec483d22ebc0178ae63a4c0d40015bbe9a9
parent6aa3ba0a0b91bc38eb7ff282ef2511964dd99080 (diff)
print no message at all when no argument is supplied to error()
this is useful when an adequate message has already been emitted by other means, like various built-ins do. Change-Id: I092771f55969fad8b214204d666327664727c572 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r--qmake/library/qmakebuiltins.cpp2
-rw-r--r--tests/auto/tools/qmakelib/evaltest.cpp8
2 files changed, 8 insertions, 2 deletions
diff --git a/qmake/library/qmakebuiltins.cpp b/qmake/library/qmakebuiltins.cpp
index 628210b55b..ac3a866848 100644
--- a/qmake/library/qmakebuiltins.cpp
+++ b/qmake/library/qmakebuiltins.cpp
@@ -1587,7 +1587,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinConditional(
#ifdef PROEVALUATOR_FULL
fputs(msg.toLatin1().constData(), stderr);
#endif
- } else {
+ } else if (!msg.isEmpty() || func_t != T_ERROR) {
m_handler->fileMessage(
(func_t == T_ERROR ? QMakeHandler::ErrorMessage :
func_t == T_WARNING ? QMakeHandler::WarningMessage :
diff --git a/tests/auto/tools/qmakelib/evaltest.cpp b/tests/auto/tools/qmakelib/evaltest.cpp
index 21c1759b08..ffdf9294b8 100644
--- a/tests/auto/tools/qmakelib/evaltest.cpp
+++ b/tests/auto/tools/qmakelib/evaltest.cpp
@@ -2346,12 +2346,18 @@ void tst_qmakelib::addTestFunctions(const QString &qindir)
<< "Project WARNING: World, be warned!"
<< true;
- QTest::newRow("error()")
+ QTest::newRow("error(message)")
<< "error('World, you FAIL!'): OK = 1\nOKE = 1"
<< "OK = UNDEF\nOKE = UNDEF"
<< "Project ERROR: World, you FAIL!"
<< false;
+ QTest::newRow("error(empty)")
+ << "error(): OK = 1\nOKE = 1"
+ << "OK = UNDEF\nOKE = UNDEF"
+ << ""
+ << false;
+
QTest::newRow("if(error())")
<< "if(error(\\'World, you FAIL!\\')): OK = 1\nOKE = 1"
<< "OK = UNDEF\nOKE = UNDEF"