summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEven Oscar Andersen <even.oscar.andersen@qt.io>2024-03-15 14:16:05 +0100
committerEven Oscar Andersen <even.oscar.andersen@qt.io>2024-03-19 10:28:06 +0100
commit7071010880191e07fbcfd8aac876e396b462f956 (patch)
tree6b09760e0e85a2a86c6bbd32bd6c8d2677a760da
parenta1a8a20206fdd0f3c51a23ebe921c2b17227e659 (diff)
wasm: Add qdiriterator test + minor runtime fixes
There was a runtime feilure in that we try to create directories until it fails. This does not fail on wasm so added a hardlimit of 20480 Change-Id: I6ef65f7be277fc8775879733f969d2ce008a439a Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
-rw-r--r--tests/auto/CMakeLists.txt1
-rw-r--r--tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp16
2 files changed, 13 insertions, 4 deletions
diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt
index 9a590cf93c..06e9b9ac6c 100644
--- a/tests/auto/CMakeLists.txt
+++ b/tests/auto/CMakeLists.txt
@@ -57,6 +57,7 @@ if(QT_BUILD_MINIMAL_ANDROID_MULTI_ABI_TESTS)
endif()
if(WASM)
+ add_subdirectory(corelib/io/qdiriterator)
add_subdirectory(corelib/io/largefile)
add_subdirectory(corelib/io/qdataurl)
add_subdirectory(corelib/io/qbuffer)
diff --git a/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp b/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp
index 9a17ae4994..239cb759e8 100644
--- a/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp
+++ b/tests/auto/corelib/io/qdiriterator/tst_qdiriterator.cpp
@@ -533,8 +533,15 @@ void tst_QDirIterator::longPath()
while (dir.exists(dirName) || dir.mkdir(dirName)) {
++n;
dirName.append('x');
+ if (n >= 20480)
+ {
+ break;
+ }
+ }
+ if (n >= 20480)
+ {
+ qWarning("No maximum length on directory names");
}
-
QDirIterator it(dir.absolutePath(), QDir::NoDotAndDotDot|QDir::Dirs, QDirIterator::Subdirectories);
int m = 0;
while (it.hasNext()) {
@@ -543,13 +550,14 @@ void tst_QDirIterator::longPath()
}
QCOMPARE(n, m);
-
dirName.chop(1);
while (dirName.size() > 0 && dir.exists(dirName) && dir.rmdir(dirName)) {
+ --n;
dirName.chop(1);
}
- dir.cdUp();
- dir.rmdir("longpaths");
+ QCOMPARE(n, 0);
+ QVERIFY(dir.cdUp());
+ QVERIFY(dir.rmdir("longpaths"));
}
void tst_QDirIterator::dirorder()