diff options
3 files changed, 12 insertions, 13 deletions
diff --git a/tests/auto/utils/qtcprocess/processtestapp/processtestapp.cpp b/tests/auto/utils/qtcprocess/processtestapp/processtestapp.cpp index d5591b787a..28330786d3 100644 --- a/tests/auto/utils/qtcprocess/processtestapp/processtestapp.cpp +++ b/tests/auto/utils/qtcprocess/processtestapp/processtestapp.cpp @@ -207,7 +207,7 @@ int ProcessTestApp::BlockingProcess::main() return 1; } -int ProcessTestApp::EmitOneErrorOnCrash::main() +int ProcessTestApp::Crash::main() { doCrash(); return 1; diff --git a/tests/auto/utils/qtcprocess/processtestapp/processtestapp.h b/tests/auto/utils/qtcprocess/processtestapp/processtestapp.h index 4050cb9a2e..7fbcabc25d 100644 --- a/tests/auto/utils/qtcprocess/processtestapp/processtestapp.h +++ b/tests/auto/utils/qtcprocess/processtestapp/processtestapp.h @@ -72,7 +72,7 @@ public: SUB_PROCESS(StandardOutputAndErrorWriter); SUB_PROCESS(ChannelForwarding); SUB_PROCESS(BlockingProcess); - SUB_PROCESS(EmitOneErrorOnCrash); + SUB_PROCESS(Crash); SUB_PROCESS(CrashAfterOneSecond); SUB_PROCESS(RecursiveCrashingProcess); SUB_PROCESS(RecursiveBlockingProcess); diff --git a/tests/auto/utils/qtcprocess/tst_qtcprocess.cpp b/tests/auto/utils/qtcprocess/tst_qtcprocess.cpp index e73ad97ad4..c422b690d1 100644 --- a/tests/auto/utils/qtcprocess/tst_qtcprocess.cpp +++ b/tests/auto/utils/qtcprocess/tst_qtcprocess.cpp @@ -144,7 +144,7 @@ private slots: void destroyBlockingProcess_data(); void destroyBlockingProcess(); void flushFinishedWhileWaitingForReadyRead(); - void emitOneErrorOnCrash(); + void crash(); void crashAfterOneSecond(); void recursiveCrashingProcess(); void recursiveBlockingProcess(); @@ -1012,11 +1012,10 @@ void tst_QtcProcess::notRunningAfterStartingNonExistingProgram() process.setCommand({ FilePath::fromString( "there_is_a_big_chance_that_executable_with_that_name_does_not_exists"), {} }); - int errorCount = 0; - QObject::connect(&process, &QtcProcess::errorOccurred, - [&errorCount](QProcess::ProcessError error) { - ++errorCount; - QCOMPARE(error, QProcess::FailedToStart); + int doneCount = 0; + QObject::connect(&process, &QtcProcess::done, [&process, &doneCount]() { + ++doneCount; + QCOMPARE(process.error(), QProcess::FailedToStart); }); const int loopCount = 2; @@ -1036,6 +1035,7 @@ void tst_QtcProcess::notRunningAfterStartingNonExistingProgram() QVERIFY(process.exitCode() != 0); QCOMPARE(process.result(), ProcessResult::StartFailed); } + QCOMPARE(doneCount, loopCount); } // Since we want to test whether the process forwards its channels or not, we can't just create @@ -1178,23 +1178,22 @@ void tst_QtcProcess::flushFinishedWhileWaitingForReadyRead() QVERIFY(reply.contains(s_simpleTestData)); } -void tst_QtcProcess::emitOneErrorOnCrash() +void tst_QtcProcess::crash() { - SubProcessConfig subConfig(ProcessTestApp::EmitOneErrorOnCrash::envVar(), {}); + SubProcessConfig subConfig(ProcessTestApp::Crash::envVar(), {}); QtcProcess process; subConfig.setupSubProcess(&process); - int errorCount = 0; - connect(&process, &QtcProcess::errorOccurred, this, [&errorCount] { ++errorCount; }); process.start(); QVERIFY(process.waitForStarted(1000)); + QVERIFY(process.isRunning()); QEventLoop loop; connect(&process, &QtcProcess::done, &loop, &QEventLoop::quit); loop.exec(); - QCOMPARE(errorCount, 1); QCOMPARE(process.error(), QProcess::Crashed); + QCOMPARE(process.exitStatus(), QProcess::CrashExit); } void tst_QtcProcess::crashAfterOneSecond() |