summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
diff options
context:
space:
mode:
authorKarsten Heimrich <karsten.heimrich@qt.io>2021-05-31 15:50:35 +0200
committerKarsten Heimrich <karsten.heimrich@qt.io>2021-06-02 23:02:45 +0200
commit01f003f0aa4b7856932d81d6308c4183d6f374bc (patch)
tree636c6197f09fce60176627679e67f91ff333ac92 /tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
parentebacf425614ffd2c38e4902a122ff4a63e277706 (diff)
Refactor createSymbolicLink() and createNtfsJunction()
Both functions now return a result object. Eliminates the need to pass the errorMessage out-parameter. Adapt auto-tests. Change-Id: I110b68fedc67b01f76796c44fa55383b2cc03460 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp')
-rw-r--r--tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp53
1 files changed, 24 insertions, 29 deletions
diff --git a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
index 8450cc359d..93b01ffa3a 100644
--- a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
+++ b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
@@ -715,12 +715,11 @@ void tst_QFileInfo::canonicalFilePath()
#if defined(Q_OS_WIN)
{
- QString errorMessage;
const QString linkTarget = QStringLiteral("res");
- const DWORD dwErr = FileSystem::createSymbolicLink(linkTarget, m_resourcesDir, &errorMessage);
- if (dwErr == ERROR_PRIVILEGE_NOT_HELD)
- QSKIP(msgInsufficientPrivileges(errorMessage));
- QVERIFY2(dwErr == ERROR_SUCCESS, qPrintable(errorMessage));
+ const auto result = FileSystem::createSymbolicLink(linkTarget, m_resourcesDir);
+ if (result.dwErr == ERROR_PRIVILEGE_NOT_HELD)
+ QSKIP(msgInsufficientPrivileges(result.errorMessage));
+ QVERIFY2(result.dwErr == ERROR_SUCCESS, qPrintable(result.errorMessage));
QString currentPath = QDir::currentPath();
QVERIFY(QDir::setCurrent(linkTarget));
const QString actualCanonicalPath = QFileInfo("file1").canonicalFilePath();
@@ -1359,12 +1358,11 @@ void tst_QFileInfo::isSymbolicLink_data()
#ifndef Q_NO_SYMLINKS
#if defined(Q_OS_WIN)
- QString errorMessage;
- const DWORD creationResult = FileSystem::createSymbolicLink("symlink", m_sourceFile, &errorMessage);
- if (creationResult == ERROR_PRIVILEGE_NOT_HELD) {
- QWARN(msgInsufficientPrivileges(errorMessage));
+ const auto creationResult = FileSystem::createSymbolicLink("symlink", m_sourceFile);
+ if (creationResult.dwErr == ERROR_PRIVILEGE_NOT_HELD) {
+ QWARN(msgInsufficientPrivileges(creationResult.errorMessage));
} else {
- QVERIFY2(creationResult == ERROR_SUCCESS, qPrintable(errorMessage));
+ QVERIFY2(creationResult.dwErr == ERROR_SUCCESS, qPrintable(creationResult.errorMessage));
QTest::newRow("NTFS-symlink")
<< "symlink" << true;
}
@@ -1423,21 +1421,20 @@ void tst_QFileInfo::link_data()
#ifndef Q_NO_SYMLINKS
#if defined(Q_OS_WIN)
- QString errorMessage;
- DWORD creationResult = FileSystem::createSymbolicLink("link", m_sourceFile, &errorMessage);
- if (creationResult == ERROR_PRIVILEGE_NOT_HELD) {
- QWARN(msgInsufficientPrivileges(errorMessage));
+ auto creationResult = FileSystem::createSymbolicLink("link", m_sourceFile);
+ if (creationResult.dwErr == ERROR_PRIVILEGE_NOT_HELD) {
+ QWARN(msgInsufficientPrivileges(creationResult.errorMessage));
} else {
- QVERIFY2(creationResult == ERROR_SUCCESS, qPrintable(errorMessage));
+ QVERIFY2(creationResult.dwErr == ERROR_SUCCESS, qPrintable(creationResult.errorMessage));
QTest::newRow("link")
<< "link" << false << true << QFileInfo(m_sourceFile).absoluteFilePath();
}
- creationResult = FileSystem::createSymbolicLink("brokenlink", "dummyfile", &errorMessage);
- if (creationResult == ERROR_PRIVILEGE_NOT_HELD) {
- QWARN(msgInsufficientPrivileges(errorMessage));
+ creationResult = FileSystem::createSymbolicLink("brokenlink", "dummyfile");
+ if (creationResult.dwErr == ERROR_PRIVILEGE_NOT_HELD) {
+ QWARN(msgInsufficientPrivileges(creationResult.errorMessage));
} else {
- QVERIFY2(creationResult == ERROR_SUCCESS, qPrintable(errorMessage));
+ QVERIFY2(creationResult.dwErr == ERROR_SUCCESS, qPrintable(creationResult.errorMessage));
QTest::newRow("broken link")
<< "brokenlink" << false << true << QFileInfo("dummyfile").absoluteFilePath();
}
@@ -1701,7 +1698,6 @@ void tst_QFileInfo::ntfsJunctionPointsAndSymlinks_data()
{
// Symlink to UNC share
pwd.mkdir("unc");
- QString errorMessage;
QString uncTarget = QStringLiteral("//") + QtNetworkSettings::winServerName() + "/testshare";
QString uncSymlink = QDir::toNativeSeparators(pwd.absolutePath().append("\\unc\\link_to_unc"));
QTest::newRow("UNC symlink")
@@ -1753,24 +1749,23 @@ void tst_QFileInfo::ntfsJunctionPointsAndSymlinks()
QFETCH(QString, linkTarget);
QFETCH(QString, canonicalFilePath);
- QString errorMessage;
- DWORD creationResult = ERROR_SUCCESS;
+ FileSystem::Result creationResult;
switch (resource.type) {
case NtfsTestResource::None:
break;
case NtfsTestResource::SymLink:
- creationResult = FileSystem::createSymbolicLink(resource.source, resource.target, &errorMessage);
+ creationResult = FileSystem::createSymbolicLink(resource.source, resource.target);
break;
case NtfsTestResource::Junction:
- creationResult = FileSystem::createNtfsJunction(resource.target, resource.source, &errorMessage);
- if (creationResult == ERROR_NOT_SUPPORTED) // Special value indicating non-NTFS drive
- QSKIP(qPrintable(errorMessage));
+ creationResult = FileSystem::createNtfsJunction(resource.target, resource.source);
+ if (creationResult.dwErr == ERROR_NOT_SUPPORTED) // Special value indicating non-NTFS drive
+ QSKIP(qPrintable(creationResult.errorMessage));
break;
}
- if (creationResult == ERROR_PRIVILEGE_NOT_HELD)
- QSKIP(msgInsufficientPrivileges(errorMessage));
- QVERIFY2(creationResult == ERROR_SUCCESS, qPrintable(errorMessage));
+ if (creationResult.dwErr == ERROR_PRIVILEGE_NOT_HELD)
+ QSKIP(msgInsufficientPrivileges(creationResult.errorMessage));
+ QVERIFY2(creationResult.dwErr == ERROR_SUCCESS, qPrintable(creationResult.errorMessage));
QFileInfo fi(path);
auto guard = qScopeGuard([&fi, this]() {