diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-01-09 12:15:59 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-01-17 12:44:43 +0100 |
commit | 3146dcbdc768c90a03b58eed3f42630604443093 (patch) | |
tree | 10e234460c5f57012b346cdbe6304002ad0a446d /tools/qml/qdeclarativetester.cpp | |
parent | a7ea2afffd61e2a89f7bb2c586b4b733c4996bb5 (diff) | |
parent | 722725cf24e45e86a2844810b90787a29df8a4a9 (diff) |
Merge branch 'stable' into dev
Conflicts:
sync.profile
tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
Change-Id: I3620d15b4163fec420d18f6be50cae1635b99a2f
Diffstat (limited to 'tools/qml/qdeclarativetester.cpp')
-rw-r--r-- | tools/qml/qdeclarativetester.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/tools/qml/qdeclarativetester.cpp b/tools/qml/qdeclarativetester.cpp index 1d46f560..70d50f3a 100644 --- a/tools/qml/qdeclarativetester.cpp +++ b/tools/qml/qdeclarativetester.cpp @@ -53,6 +53,15 @@ QT_BEGIN_NAMESPACE +enum { + TestSuccessExitCode = 0, +#ifdef Q_OS_WIN + TestFailureExitCode = 1 // QProcess on Windows reports crash for exit codes < 0, QTBUG-28735 +#else + TestFailureExitCode = -1 +#endif +}; + extern Q_GUI_EXPORT bool qt_applefontsmoothing_enabled; QDeclarativeTester::QDeclarativeTester(const QString &script, QDeclarativeViewer::ScriptOptions opts, @@ -137,7 +146,7 @@ void QDeclarativeTester::executefailure() hasFailed = true; if (options & QDeclarativeViewer::ExitOnFailure) - exit(-1); + QCoreApplication::exit(TestFailureExitCode); } void QDeclarativeTester::imagefailure() @@ -146,7 +155,7 @@ void QDeclarativeTester::imagefailure() if (options & QDeclarativeViewer::ExitOnFailure){ testSkip(); - exit(hasFailed?-1:0); + QCoreApplication::exit(hasFailed ? TestFailureExitCode : TestSuccessExitCode); } } @@ -178,7 +187,7 @@ void QDeclarativeTester::complete() testSkip(); if (options & QDeclarativeViewer::ExitOnComplete) - QApplication::exit(hasFailed?-1:0); + QCoreApplication::exit(hasFailed? TestFailureExitCode : TestSuccessExitCode); if (hasCompleted) return; @@ -193,8 +202,13 @@ void QDeclarativeTester::run() QDeclarativeComponent c(m_view->engine(), m_script + QLatin1String(".qml")); testscript = qobject_cast<QDeclarativeVisualTest *>(c.create()); - if (testscript) testscript->setParent(this); - else { executefailure(); exit(-1); } + if (testscript) { + testscript->setParent(this); + } else { + executefailure(); + if (!(options & QDeclarativeViewer::ExitOnFailure)) + QCoreApplication::exit(TestFailureExitCode); + } testscriptidx = 0; } |