qt5base-lts/tests/auto/corelib/io/qfile
Edward Welbourne cb505bedde Actually truncate when asked to
On Unix, we wouldn't even *try* to truncate if the file was open for
appending.  The combination may be an eccentric choice but - at least
when it's combined with reading - I can imagine use-cases for it; and
we should (at least try to) deliver what we're asked for, even if we
can't think why anyone would want it.  So actually enable truncation
when asked to.

Amended some tests to check this works and corrected the QIODevice
documentation of mode flags (which misdescribed the special case that
implies Truncate).  Removed special-case code, to apply truncate when
writing but not reading, since it's been made redundant by the
pre-processing of mode done in QFSFileEngine::processOpenModeFlags().

[ChangeLog][QtCore][QFile] When opening a file, if Truncate is asked
for, or implied by other flags, it shall be attempted, regardless of
what other options are selected.  We previously did this on Windows;
now we do so also on Unix (even when appending).

Task-number: QTBUG-13470
Change-Id: I1e08d02cfbae102725fccbbc3aab5c7bf8830687
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-07-30 15:04:31 +00:00
..
resources Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
stdinprocess Add qt_test_helper feature 2018-07-25 05:17:47 +00:00
.gitattributes Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
.gitignore tst_qfile: Fix execution for WinRT 2018-06-28 15:43:58 +00:00
BLACKLIST Autotest: fix blacklisted test about position on non-regular files 2017-08-08 21:48:28 +00:00
copy-fallback.qrc Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
dosfile.txt Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
forCopying.txt Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
forRenaming.txt Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
noendofline.txt Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
qfile.pro Add qt_test_helper feature 2018-07-25 05:17:47 +00:00
qfile.qrc Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
rename-fallback.qrc Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
test.pro Add qt_test_helper feature 2018-07-25 05:17:47 +00:00
testfile.txt Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
testlog.txt Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
tst_qfile.cpp Actually truncate when asked to 2018-07-30 15:04:31 +00:00
two.dots.file Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00