QtcProcess: Fix StartFailed result

Amends 4ca336762e

Change-Id: I3781bec37b17ea3f86eedc51657db0931a456c39
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Jarek Kobus
2022-04-14 08:50:16 +02:00
parent 35b654f69b
commit a4a651aa32
2 changed files with 12 additions and 9 deletions

View File

@@ -1609,15 +1609,17 @@ void QtcProcessPrivate::handleDone(const ProcessResultData &data)
qDebug() << Q_FUNC_INFO << m_resultData.m_exitCode << m_resultData.m_exitStatus;
m_hangTimerCount = 0;
switch (m_resultData.m_exitStatus) {
case QProcess::NormalExit:
m_result = interpretExitCode(m_resultData.m_exitCode);
break;
case QProcess::CrashExit:
// Was hang detected before and killed?
if (m_result != ProcessResult::Hang)
m_result = ProcessResult::TerminatedAbnormally;
break;
if (m_resultData.m_error != QProcess::FailedToStart) {
switch (m_resultData.m_exitStatus) {
case QProcess::NormalExit:
m_result = interpretExitCode(m_resultData.m_exitCode);
break;
case QProcess::CrashExit:
// Was hang detected before and killed?
if (m_result != ProcessResult::Hang)
m_result = ProcessResult::TerminatedAbnormally;
break;
}
}
if (m_eventLoop)
m_eventLoop->quit();

View File

@@ -1007,6 +1007,7 @@ void tst_QtcProcess::notRunningAfterStartingNonExistingProgram()
QCOMPARE(process.exitStatus(), QProcess::NormalExit);
QCOMPARE(process.error(), QProcess::FailedToStart);
QVERIFY(process.exitCode() != 0);
QCOMPARE(process.result(), ProcessResult::StartFailed);
}
}