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; qDebug() << Q_FUNC_INFO << m_resultData.m_exitCode << m_resultData.m_exitStatus;
m_hangTimerCount = 0; m_hangTimerCount = 0;
switch (m_resultData.m_exitStatus) { if (m_resultData.m_error != QProcess::FailedToStart) {
case QProcess::NormalExit: switch (m_resultData.m_exitStatus) {
m_result = interpretExitCode(m_resultData.m_exitCode); case QProcess::NormalExit:
break; m_result = interpretExitCode(m_resultData.m_exitCode);
case QProcess::CrashExit: break;
// Was hang detected before and killed? case QProcess::CrashExit:
if (m_result != ProcessResult::Hang) // Was hang detected before and killed?
m_result = ProcessResult::TerminatedAbnormally; if (m_result != ProcessResult::Hang)
break; m_result = ProcessResult::TerminatedAbnormally;
break;
}
} }
if (m_eventLoop) if (m_eventLoop)
m_eventLoop->quit(); m_eventLoop->quit();

View File

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