diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2018-07-26 18:16:48 +0200 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2018-07-30 15:05:29 +0000 |
commit | f69a5857d115786f44d053e68c36f74526020e82 (patch) | |
tree | 4e1c1876db2fc124d4f1d94a792836d53c401342 /tests | |
parent | ed79462d997324d7adfeef21d1ffe386f8603967 (diff) |
canonicalFilePath: treat ENOTDIR as a case of file not existing
There is no such file, if one of the "directory" components of its
path is not, in fact, a directory. Added a test for non-existent file
(specified to give empty canonical file path) as well as a test for a
file in a sub-directory of a known file. The former incidentally
tests for QTBUG-29402, fixed long ago.
Change-Id: I60b80acc0f99f0a88cdb1c4d191af7384f3a31c5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp index 77addbfbf5..017eebe153 100644 --- a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp +++ b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp @@ -630,6 +630,16 @@ void tst_QFileInfo::canonicalFilePath() info.canonicalFilePath(); #if defined(Q_OS_UNIX) + // If this file exists, you can't log in to run this test ... + const QString notExtantPath(QStringLiteral("/etc/nologin")); + QFileInfo notExtant(notExtantPath); + QCOMPARE(notExtant.canonicalFilePath(), QString()); + + // A path with a non-directory as a directory component also doesn't exist: + const QString badDirPath(QStringLiteral("/dev/null/sub/dir/n'existe.pas")); + QFileInfo badDir(badDirPath); + QCOMPARE(badDir.canonicalFilePath(), QString()); + // This used to crash on Mac QFileInfo dontCrash(QLatin1String("/")); QCOMPARE(dontCrash.canonicalFilePath(), QLatin1String("/")); |