aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrolstestutils/dialogstestutils.cpp
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2022-09-07 17:43:41 +0800
committerMitch Curtis <mitch.curtis@qt.io>2022-09-08 22:46:55 +0800
commitf406385dfb9e88b3661f8524281b8f9d9e1351a7 (patch)
treeb85de908c66cbcacaad12659d085957b8c73ee2c /src/quickcontrolstestutils/dialogstestutils.cpp
parent7938e9ab438d5163897643bd03c1f8f7c32e6d34 (diff)
Fix flaky tst_QQuickFileDialogImpl::goUpIntoLargeFolder test
Ensure that all expected delegates have loaded before trying to verify that the correct file is selected. This requires a modification to verifyFileDialogDelegates to account for the large amount of files that goUpIntoLargeFolder deals with, as QTest's failure message is limited to 1024 characters. Fixes: QTBUG-101488 Pick-to: 6.2 6.3 6.4 Change-Id: I65cf6ffc4724309083899dac2acc1f04a11a1220 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
Diffstat (limited to 'src/quickcontrolstestutils/dialogstestutils.cpp')
-rw-r--r--src/quickcontrolstestutils/dialogstestutils.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/quickcontrolstestutils/dialogstestutils.cpp b/src/quickcontrolstestutils/dialogstestutils.cpp
index 972ef63f21..71622fabb0 100644
--- a/src/quickcontrolstestutils/dialogstestutils.cpp
+++ b/src/quickcontrolstestutils/dialogstestutils.cpp
@@ -40,9 +40,17 @@ bool QQuickDialogTestUtils::verifyFileDialogDelegates(QQuickListView *fileDialog
}
if (actualFiles != expectedFiles) {
+ QString expectedFilesStr = QDebug::toString(expectedFiles);
+ QString actualFilesStr = QDebug::toString(actualFiles);
failureMessage = QString::fromLatin1("Mismatch in actual vs expected "
- "delegates in fileDialogListView:\n expected: %1\n actual: %2")
- .arg(QDebug::toString(expectedFiles), QDebug::toString(actualFiles));
+ "delegates in fileDialogListView:\n expected: %1\n actual: %2");
+ if (failureMessage.size() + expectedFilesStr.size() + actualFilesStr.size() > 1024) {
+ // If we've exceeded QTest's character limit for failure messages,
+ // just show the number of files.
+ expectedFilesStr = QString::number(expectedFiles.size());
+ actualFilesStr = QString::number(actualFiles.size());
+ }
+ failureMessage = failureMessage.arg(expectedFilesStr, actualFilesStr);
return false;
}