CI: Enable tests under corelib/text for Wasm platform
We are gradually enabling more tests for WebAssembly platform for better test coverage. Long linking time is no longer an issue due to test batching. Change-Id: I7ee9f877ecda726bc23d8dd2507c616bb381ebc1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
This commit is contained in:
parent
3fa3e56e64
commit
2efd823962
@ -33,10 +33,8 @@ if(QT_BUILD_MINIMAL_ANDROID_MULTI_ABI_TESTS)
|
||||
return()
|
||||
endif()
|
||||
|
||||
# Only configure a single auto test for wasm for now
|
||||
# Since the linking step at this point is prohibitively long (static linking)
|
||||
if(WASM)
|
||||
add_subdirectory(corelib/text/qchar)
|
||||
add_subdirectory(corelib/text)
|
||||
return()
|
||||
endif()
|
||||
|
||||
|
@ -7,11 +7,18 @@ if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT)
|
||||
find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST)
|
||||
endif()
|
||||
|
||||
set(compile_and_link_options "")
|
||||
if(WASM)
|
||||
list(APPEND compile_and_link_options "-fexceptions")
|
||||
endif()
|
||||
|
||||
qt_internal_add_test(tst_qbytearray_large
|
||||
SOURCES
|
||||
tst_qbytearray_large.cpp
|
||||
LIBRARIES
|
||||
Qt::Core
|
||||
TESTDATA "rfc3252.txt"
|
||||
COMPILE_OPTIONS ${compile_and_link_options}
|
||||
LINK_OPTIONS ${compile_and_link_options}
|
||||
)
|
||||
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include <QScopeGuard>
|
||||
|
||||
#include <cstring>
|
||||
#include <iostream>
|
||||
|
||||
class tst_QCollator : public QObject
|
||||
{
|
||||
@ -263,7 +264,11 @@ void tst_QCollator::compare()
|
||||
auto asSign = [](int compared) {
|
||||
return compared < 0 ? -1 : compared > 0 ? 1 : 0;
|
||||
};
|
||||
|
||||
#if defined(Q_OS_WASM)
|
||||
if (strcmp(QTest::currentDataTag(), "english5") == 0
|
||||
|| strcmp(QTest::currentDataTag(), "english8") == 0)
|
||||
QSKIP("Some en-us locale tests have issues on WASM");
|
||||
#endif // Q_OS_WASM
|
||||
#if !QT_CONFIG(icu) && !defined(Q_OS_WIN) && !defined(Q_OS_MACOS)
|
||||
if (collator.locale() != QLocale::c() && collator.locale() != QLocale::system().collation())
|
||||
QSKIP("POSIX implementation of collation only supports C and system collation locales");
|
||||
|
@ -1988,6 +1988,10 @@ void tst_QLocale::formatDateTime()
|
||||
QFETCH(QString, format);
|
||||
QFETCH(QString, result);
|
||||
|
||||
#if defined(Q_OS_WASM)
|
||||
QEXPECT_FAIL("dd MMMM yyyy, hh:mm:ss", "Year 0001 doesn't get properly formatted on WASM C locale", Abort);
|
||||
#endif // Q_OS_WASM
|
||||
|
||||
QLocale l(localeName);
|
||||
QCOMPARE(l.toString(dateTime, format), result);
|
||||
QCOMPARE(l.toString(dateTime, QStringView(format)), result);
|
||||
@ -2010,16 +2014,16 @@ void tst_QLocale::formatTimeZone()
|
||||
if (europeanTimeZone) {
|
||||
// Time definitely in Standard Time
|
||||
QDateTime dt4 = QDate(2013, 1, 1).startOfDay();
|
||||
#ifdef Q_OS_WIN
|
||||
QEXPECT_FAIL("", "Windows only returns long name (QTBUG-32759)", Continue);
|
||||
#endif // Q_OS_WIN
|
||||
#if defined(Q_OS_WIN) || defined(Q_OS_WASM)
|
||||
QEXPECT_FAIL("", "Windows and Wasm only returns long name (QTBUG-32759)", Continue);
|
||||
#endif // Q_OS_WIN || Q_OS_WASM
|
||||
QCOMPARE(enUS.toString(dt4, "t"), QLatin1String("CET"));
|
||||
|
||||
// Time definitely in Daylight Time
|
||||
QDateTime dt5 = QDate(2013, 6, 1).startOfDay();
|
||||
#ifdef Q_OS_WIN
|
||||
QEXPECT_FAIL("", "Windows only returns long name (QTBUG-32759)", Continue);
|
||||
#endif // Q_OS_WIN
|
||||
#if defined(Q_OS_WIN) || defined(Q_OS_WASM)
|
||||
QEXPECT_FAIL("", "Windows and Wasm only returns long name (QTBUG-32759)", Continue);
|
||||
#endif // Q_OS_WIN || Q_OS_WASM
|
||||
QCOMPARE(enUS.toString(dt5, "t"), QLatin1String("CEST"));
|
||||
} else {
|
||||
qDebug("(Skipped some CET-only tests)");
|
||||
|
@ -21,6 +21,7 @@ endif()
|
||||
|
||||
foreach(test tst_qstring tst_qstring_restricted_ascii tst_qstring_no_cast_from_ascii)
|
||||
qt_internal_add_test(${test}
|
||||
NO_BATCH
|
||||
SOURCES
|
||||
tst_qstring.cpp
|
||||
${tst_qstring_extra_sources}
|
||||
|
@ -8,9 +8,10 @@
|
||||
|
||||
void tst_QString_wasmTypes()
|
||||
{
|
||||
const QLatin1StringView testString("test string");
|
||||
// QString <-> emscripten::val
|
||||
{
|
||||
QString qtString("test string");
|
||||
QString qtString = testString;
|
||||
const emscripten::val jsString = qtString.toJsString();
|
||||
QString qtStringCopy(qtString);
|
||||
qtString = qtString.toUpper(); // modify
|
||||
@ -19,7 +20,7 @@ void tst_QString_wasmTypes()
|
||||
{
|
||||
QString longString;
|
||||
for (uint64_t i = 0; i < 1000; ++i)
|
||||
longString += "Lorem ipsum FTW";
|
||||
longString += testString;
|
||||
const emscripten::val jsString = longString.toJsString();
|
||||
QString qtStringCopy(longString);
|
||||
longString = longString.toUpper(); // modify
|
||||
|
@ -23,6 +23,8 @@
|
||||
|
||||
Q_DECLARE_METATYPE(QLatin1String)
|
||||
|
||||
namespace {
|
||||
|
||||
struct QAnyStringViewUsingL1 : QAnyStringView {}; // QAnyStringView with Latin-1 content
|
||||
struct QAnyStringViewUsingU8 : QAnyStringView {}; // QAnyStringView with Utf-8 content
|
||||
struct QAnyStringViewUsingU16 : QAnyStringView {}; // QAnyStringView with Utf-16 content
|
||||
@ -82,6 +84,8 @@ MAKE_ALL(QUtf8StringView, QLatin1String)
|
||||
#undef MAKE_RELOP
|
||||
// END FIXME
|
||||
|
||||
} // namespace
|
||||
|
||||
static constexpr int sign(int i) noexcept
|
||||
{
|
||||
return i < 0 ? -1 :
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include <string>
|
||||
|
||||
Q_DECLARE_METATYPE(Qt::SplitBehavior)
|
||||
|
||||
namespace {
|
||||
class tst_QStringTokenizer : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -45,6 +45,7 @@ QStringList toQStringList(const Container &c)
|
||||
r.push_back(toQString(e));
|
||||
return r;
|
||||
}
|
||||
} // namespace
|
||||
|
||||
void tst_QStringTokenizer::constExpr() const
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user