diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp index 349c36694b935c79c28ea0ed2b7e61a60b12c09d..46e6587c528274777804bfac184da309551ae6bc 100644 --- a/src/libs/extensionsystem/pluginmanager.cpp +++ b/src/libs/extensionsystem/pluginmanager.cpp @@ -648,6 +648,8 @@ void PluginManager::startTests() { #ifdef WITH_TESTS foreach (PluginSpec *pluginSpec, d->testSpecs) { + if (!pluginSpec->plugin()) + continue; const QMetaObject *mo = pluginSpec->plugin()->metaObject(); QStringList methods; methods.append("arg0"); @@ -659,7 +661,10 @@ void PluginManager::startTests() methods.append(method.left(method.size()-2)); } } - QTest::qExec(pluginSpec->plugin(), methods); + // Don't run QTest::qExec with only one argument, that'd run + // *all* slots as tests. + if (methods.size() > 1) + QTest::qExec(pluginSpec->plugin(), methods); } if (!d->testSpecs.isEmpty()) QTimer::singleShot(1, QCoreApplication::instance(), SLOT(quit()));