diff --git a/tests/auto/corelib/text/qlatin1stringmatcher/tst_qlatin1stringmatcher.cpp b/tests/auto/corelib/text/qlatin1stringmatcher/tst_qlatin1stringmatcher.cpp index ba098fd23cd..d4a151452e0 100644 --- a/tests/auto/corelib/text/qlatin1stringmatcher/tst_qlatin1stringmatcher.cpp +++ b/tests/auto/corelib/text/qlatin1stringmatcher/tst_qlatin1stringmatcher.cpp @@ -562,9 +562,15 @@ void tst_QLatin1StringMatcher::haystacksWithMoreThan4GiBWork() { qsizetype dynamicResult; + QString toSearch; + try { + toSearch = QString::fromLatin1(large); + } catch (const std::bad_alloc &) { + QSKIP("Could not allocate additional 8GiB plus a couple hundred bytes of RAM."); + } auto t = std::thread{ [&] { QLatin1StringMatcher m(QLatin1StringView(needle), Qt::CaseSensitive); - dynamicResult = m.indexIn(QStringView(QString::fromLatin1(large))); + dynamicResult = m.indexIn(QStringView(toSearch)); } }; t.join();