qt5base-lts/tests/auto/corelib/io
Ryan Chu 004e3e0dc2 Make Qt aware of NTFS Junctions on Windows
On NTFS, a junction point can be created and deleted by the mklink and
rmdir commands, respectively. If a directory is not identified
correctly as a junction, then applications will likely try to remove
it using recursive methods, leading to fatal data loss.

With this change, Qt can identify file system entries as junctions,
allowing applications to use the correct file system operation to
remove it.

The test needs to delay the cleaning up of junctions and files it
creates until the checks are complete; since they might fail and make
the test function return prematurely, use a scope guard.

[ChangeLog][QtCore][QFileInfo] Add QFileInfo::isJunction so that
applications can recognize NTFS file system entries as junctions

Task-number: QTBUG-75869
Change-Id: I3c208245afbd9fb7555515fb776ff63b133ca858
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-11-09 00:47:45 +01:00
..
largefile Remove usages of deprecated APIs from QtAlgorithms 2019-06-29 21:58:36 +02:00
qabstractfileengine Filesystem: Use "birth time" to avoid confusion with Unix ctime 2017-08-05 16:41:38 +00:00
qbuffer Updated license headers 2016-01-21 18:55:18 +00:00
qdataurl Updated license headers 2016-01-21 18:55:18 +00:00
qdebug Port from QStringViewLiteral to u"" 2019-07-29 11:17:28 +03:00
qdir Remove CFBundleGetInfoString from Info.plist templates 2019-10-04 13:09:34 +00:00
qdiriterator Android: fix qdiriterator test 2018-06-21 14:14:45 +00:00
qfile QFileSystemEngine: Consistently check for invalid file names 2019-10-24 13:37:22 +02:00
qfileinfo Make Qt aware of NTFS Junctions on Windows 2019-11-09 00:47:45 +01:00
qfileselector Do not strip off the fragment and query in the qfileselector 2019-06-03 12:29:49 +00:00
qfilesystementry Updated license headers 2016-01-21 18:55:18 +00:00
qfilesystemmetadata Filesystem: Use "birth time" to avoid confusion with Unix ctime 2017-08-05 16:41:38 +00:00
qfilesystemwatcher Update for failures only on dev branch. Use general platform names 2019-08-19 18:22:11 +02:00
qiodevice Remove QSKIP and bring the test back to business 2018-10-25 11:51:42 +00:00
qipaddress QIpAddress: reject IPv6 addresses with more than 4 hex digits 2018-03-16 00:01:53 +00:00
qlockfile Remove usages of QSysInfo's deprecated APIs 2019-07-05 09:26:17 +00:00
qloggingcategory Prefix QTextStream operators with Qt:: in tests 2019-05-03 09:36:36 +00:00
qloggingregistry Logging: Accept .ini files written by QSettings 2018-07-28 14:43:40 +00:00
qnodebug Port from QStringViewLiteral to u"" 2019-07-29 11:17:28 +03:00
qprocess Update for failures only on dev branch. Use general platform names 2019-08-19 18:22:11 +02:00
qprocess-noapplication macOS: Don't build auto-tests as application bundles unless explicitly requested 2016-10-23 10:39:56 +00:00
qprocessenvironment QtCore: Remove Windows CE. 2016-03-30 11:22:47 +00:00
qresourceengine Disable debug-and-release builds for MinGW 2019-09-18 06:28:16 +00:00
qsavefile QSaveFile: Fix changing the file name after hitting on readonly file 2019-07-11 22:00:10 +02:00
qsettings Win32: Consolidate registry code 2019-10-14 20:26:42 +02:00
qstandardpaths Merge remote-tracking branch 'origin/5.13' into 5.14 2019-10-24 10:23:44 +02:00
qstorageinfo Ignore failing test for free space on APFS 2019-04-30 10:58:13 +00:00
qtemporarydir Merge remote-tracking branch 'origin/5.9' into 5.11 2018-02-14 12:51:24 +01:00
qtemporaryfile Merge remote-tracking branch 'origin/5.13' into dev 2019-06-27 14:38:03 +02:00
qurl Fix mis-handling of actual TLD in qIsEffectiveTLD() 2019-09-16 17:05:09 +02:00
qurlinternal QUrl: fix IDN conversion when the ACE form is invalid 2017-04-25 00:51:43 +00:00
qurlquery QUrlQuery: Implement initializer list constructor 2018-12-09 11:35:27 +00:00
io.pro Modernize the "settings" feature 2018-11-15 17:20:15 +00:00