From dbfc3c9c381aa1cc0ab3cf5b758b38fb4499cb39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Wed, 15 Jan 2025 11:48:52 +0100 Subject: [PATCH] macOS: Ignore stderr in tst_QProcess::terminateInChildProcessModifier As we produce crash reporting via Swift on macOS 15 now. Pick-to: 6.8 6.9 Change-Id: Iab4777b29bcaa66eff9d2f1de63072f5744d56df Reviewed-by: Volker Hilsheimer --- .../auto/corelib/io/qprocess/tst_qprocess.cpp | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp index b5aef0d804e..704696e2c24 100644 --- a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp +++ b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -1680,13 +1681,22 @@ void tst_QProcess::terminateInChildProcessModifier() QCOMPARE(process.readAllStandardOutput(), QByteArray()); // some environments print extra stuff to stderr when we crash -#ifndef Q_OS_QNX - if (!QTestPrivate::isRunningArmOnX86()) { - QByteArray standardError = process.readAllStandardError(); - QVERIFY2(standardError.isEmpty() == stderrIsEmpty, - "stderr was: " + standardError); + +#if defined(Q_OS_QNX) + return; +#elif defined(Q_OS_MACOS) + if (QOperatingSystemVersion::current() >= QOperatingSystemVersion::MacOSSequoia) { + if (qEnvironmentVariableIsSet("SWIFT_BACKTRACE")) + return; // Swift's crash reporting is printed to stderr } +#else + if (QTestPrivate::isRunningArmOnX86()) + return; #endif + + QByteArray standardError = process.readAllStandardError(); + QVERIFY2(standardError.isEmpty() == stderrIsEmpty, + "stderr was: " + standardError); } void tst_QProcess::raiseInChildProcessModifier()