diff --git a/tests/auto/qabstracthttpserver/tst_qabstracthttpserver.cpp b/tests/auto/qabstracthttpserver/tst_qabstracthttpserver.cpp index 34547a6..c782fd9 100644 --- a/tests/auto/qabstracthttpserver/tst_qabstracthttpserver.cpp +++ b/tests/auto/qabstracthttpserver/tst_qabstracthttpserver.cpp @@ -12,6 +12,8 @@ #include #include +#include +#include #include #include #include @@ -415,6 +417,19 @@ void tst_QAbstractHttpServer::verifyWebSocketUpgrades() tcpServer.listen(); server.bind(&tcpServer); #if QT_CONFIG(ssl) +#ifdef Q_OS_MACOS +#if !QT_MACOS_IOS_PLATFORM_SDK_EQUAL_OR_ABOVE(150000, 180000) + // Starting from macOS 15 our temporary keychain is ignored. + // We have to use kSecImportToMemoryOnly/kCFBooleanTrue key/value + // instead. This way we don't have to use QT_SSL_USE_TEMPORARY_KEYCHAIN anymore. + if (QSslSocket::activeBackend() == QLatin1String("securetransport") + && QOperatingSystemVersion::current() >= QOperatingSystemVersion::MacOSSequoia) { + // We were built with SDK below 15, but a file-based keychains are not working anymore on macOS 15... + QSKIP("This test will block in keychain access"); + } +#endif // QT_MACOS_IOS_PLATFORM_SDK_EQUAL_OR_ABOVE +#endif // Q_OS_MACOS + QSslServer sslServer; QSslConfiguration sslConfiguration = QSslConfiguration::defaultConfiguration(); sslConfiguration.setLocalCertificate(QSslCertificate(QByteArray(g_certificate)));