forked from qt-creator/qt-creator
added new mode for simple test
This mode is the same as USE_AUTORUN, except that the debugger will stop if an test after a BREAK_HERE has failed. Change-Id: I786459a101fb2ff0556f7ac640b1b0d21d674e8b Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
@@ -315,6 +315,8 @@ public:
|
||||
void handleAutoTestLine(int line);
|
||||
void reportTestError(const QString &msg, int line);
|
||||
bool m_testsPossible;
|
||||
bool m_breakOnError;
|
||||
bool m_foundError;
|
||||
QStringList m_testContents;
|
||||
TaskHub *m_taskHub;
|
||||
QString m_testFileName;
|
||||
@@ -1783,7 +1785,13 @@ void DebuggerEnginePrivate::handleAutoTests()
|
||||
}
|
||||
foreach (const QString &s, m_testContents) {
|
||||
if (s.startsWith(QLatin1String("#define USE_AUTORUN"))) {
|
||||
m_testsPossible = s.startsWith(QLatin1String("#define USE_AUTORUN 1"));
|
||||
if (s.startsWith(QLatin1String("#define USE_AUTORUN 1"))) {
|
||||
m_testsPossible = true;
|
||||
m_breakOnError = false;
|
||||
} else if (s.startsWith(QLatin1String("#define USE_AUTORUN 2"))) {
|
||||
m_testsPossible = true;
|
||||
m_breakOnError = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1860,13 +1868,17 @@ void DebuggerEnginePrivate::handleAutoTestLine(int line)
|
||||
handleAutoTestLine(line + 1);
|
||||
} else if (cmd == QLatin1String("Continue")) {
|
||||
m_engine->showMessage(_("Continue in line %1 processed.").arg(line));
|
||||
if (!m_breakOnError || !m_foundError)
|
||||
m_engine->continueInferior();
|
||||
else
|
||||
m_foundError = false;
|
||||
}
|
||||
}
|
||||
|
||||
void DebuggerEnginePrivate::reportTestError(const QString &msg, int line)
|
||||
{
|
||||
m_engine->showMessage(_("### Line %1: %2").arg(line).arg(msg));
|
||||
m_foundError = true;
|
||||
|
||||
if (!m_taskHub) {
|
||||
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
|
||||
|
||||
@@ -55,8 +55,12 @@
|
||||
// FIXME: Not implemented yet.
|
||||
|
||||
|
||||
// Value: 1
|
||||
// If the line after a BREAK_HERE line does not contain one of the
|
||||
// supported commands, the test stops.
|
||||
// Value: 2
|
||||
// Same as 1, except that the debugger will stop automatically when
|
||||
// a test after a BREAK_HERE failed
|
||||
// Default: 0
|
||||
#ifndef USE_AUTORUN
|
||||
#define USE_AUTORUN 0
|
||||
|
||||
Reference in New Issue
Block a user