diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp index 63208da0573..74df7993bd9 100644 --- a/src/libs/extensionsystem/pluginmanager.cpp +++ b/src/libs/extensionsystem/pluginmanager.cpp @@ -730,14 +730,16 @@ void PluginManager::startTests() } } - // QTest::qExec() expects basically QCoreApplication::arguments(), - // so prepend a fake argument for the application name. - testFunctionsToExecute.prepend(QLatin1String("arg0")); - - // Don't run QTest::qExec with only one argument, that'd run + // Don't run QTest::qExec without any test functions, that'd run // *all* slots as tests. - if (testFunctionsToExecute.size() > 1) - QTest::qExec(pluginSpec->plugin(), testFunctionsToExecute); + if (!testFunctionsToExecute.isEmpty()) { + // QTest::qExec() expects basically QCoreApplication::arguments(), + QStringList qExecArguments = QStringList() + << QLatin1String("arg0") // fake application name + << QLatin1String("-maxwarnings") << QLatin1String("0"); // unlimit output + qExecArguments << testFunctionsToExecute; + QTest::qExec(pluginSpec->plugin(), qExecArguments); + } } if (!d->testSpecs.isEmpty()) QTimer::singleShot(1, QCoreApplication::instance(), SLOT(quit()));