From 36823affca3dc1584e81173c740304df97810a3f Mon Sep 17 00:00:00 2001 From: "Jesper K. Pedersen" Date: Tue, 14 May 2013 11:24:05 +0200 Subject: make it possible to run unit tests from the command line Simply execute qtcreator like this: qtcreator -execute-script /runtests.qs Change-Id: I60f706218af8653cc5cc945797062125d919f57c Reviewed-by: Nicolas Arnaud-Cormos --- Scripting.pluginspec.in | 3 +++ scriptingplugin.cpp | 19 ++++++++++++++++++- scriptingplugin.h | 2 ++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/Scripting.pluginspec.in b/Scripting.pluginspec.in index 538bf51..c902dd1 100644 --- a/Scripting.pluginspec.in +++ b/Scripting.pluginspec.in @@ -20,4 +20,7 @@ Alternatively, this plugin may be used under the terms of the GNU Lesser General + + execute the script specified + diff --git a/scriptingplugin.cpp b/scriptingplugin.cpp index 46b1394..fc5a24f 100644 --- a/scriptingplugin.cpp +++ b/scriptingplugin.cpp @@ -34,8 +34,10 @@ #include "scriptingconstants.h" #include "scriptmanager.h" #include "runscriptlocatorfilter.h" +#include #include +#include using namespace Scripting::Internal; @@ -50,13 +52,16 @@ ScriptingPlugin::~ScriptingPlugin() bool ScriptingPlugin::initialize(const QStringList &arguments, QString *errorString) { - Q_UNUSED(arguments) Q_UNUSED(errorString) addAutoReleasedObject(new RunScriptLocatorFilter); m_scriptManager = new ScriptManager(this); + for ( int i=0; i< arguments.count(); ++i ) + if ( arguments[i] == QLatin1String("-execute-script")) + m_startUpScript = arguments[i+1]; + return true; } @@ -67,6 +72,18 @@ void ScriptingPlugin::extensionsInitialized() // plugins that depend on it are completely initialized." } +bool ScriptingPlugin::delayedInitialize() +{ + if ( m_startUpScript.isNull() ) + return false; + if (!QFileInfo(m_startUpScript).exists()) + Core::MessageManager::instance()->printToOutputPane(tr("File %1 doesn't exists").arg(m_startUpScript), + Core::MessageManager::Flash); + else + m_scriptManager->runFile(m_startUpScript); + return true; +} + ExtensionSystem::IPlugin::ShutdownFlag ScriptingPlugin::aboutToShutdown() { // Save settings diff --git a/scriptingplugin.h b/scriptingplugin.h index 0d73882..9a06df2 100644 --- a/scriptingplugin.h +++ b/scriptingplugin.h @@ -71,10 +71,12 @@ public: bool initialize(const QStringList &arguments, QString *errorString); void extensionsInitialized(); + bool delayedInitialize(); ShutdownFlag aboutToShutdown(); private: ScriptManager *m_scriptManager; + QString m_startUpScript; }; } // namespace Internal -- cgit v1.2.3