qt5base-lts/tests/auto/corelib/io
Alex Trotsenko 7d257aab81 QIODevice: handle incomplete reads
Introduce a transaction mechanism that gives the ability to read the
data atomically. Current implementation supports transactions for both
types of devices. For sequential devices, it records the whole input
stream during transaction. For random-access devices, device position
is saved when transaction starts. If an error occurs, the application
may be able to recover the input stream by rolling back to the start
point.

Also, QIODevice::peek() was rewritten to make use of transactions
internally. The replacement of QIODevicePrivateLinearBuffer by
QRingBuffer is closely entangled with that, which makes it unfeasible
to do separately.

Bump the TypeInformationVersion field in qtHookData, to notify the
Qt Creator developers that the offset of QFilePrivate::fileName was
changed and dumpers should be adapted.

[ChangeLog][QtCore] Added QIODevice's startTransaction(),
commitTransaction(), rollbackTransaction(), isTransactionStarted()
functions to support the read transactions.

Task-number: QTBUG-44418
Change-Id: I3564b343ebeeaaf7c48a1dcdb7ef0a7ffec550f2
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-12 18:00:58 +00:00
..
largefile Remove QT_DISABLE_DEPRECATED_BEFORE=0 from tests not using deprecated API. 2015-09-01 16:57:46 +00:00
qabstractfileengine Remove QT_DISABLE_DEPRECATED_BEFORE=0 from tests not using deprecated API. 2015-09-01 16:57:46 +00:00
qbuffer Tests: Remove CONFIG += parallel_test. 2015-09-05 07:16:50 +00:00
qdatastream tests/auto/corelib: Remove some placeholder formatting. 2015-10-22 03:54:29 +00:00
qdataurl Tests: Remove CONFIG += parallel_test. 2015-09-05 07:16:50 +00:00
qdebug Tests: Remove CONFIG += parallel_test. 2015-09-05 07:16:50 +00:00
qdir tests/auto/corelib: Remove some placeholder formatting. 2015-10-22 03:54:29 +00:00
qdiriterator Remove QT_DISABLE_DEPRECATED_BEFORE=0 from tests not using deprecated API. 2015-09-01 16:57:46 +00:00
qfile Merge remote-tracking branch 'origin/5.6' into dev 2016-01-08 12:35:24 +01:00
qfileinfo Merge remote-tracking branch 'origin/5.6' into dev 2015-10-14 15:45:35 +02:00
qfileselector Remove remaining support for Blackberry 2015-11-21 15:38:39 +00:00
qfilesystementry Tests: Remove CONFIG += parallel_test. 2015-09-05 07:16:50 +00:00
qfilesystemwatcher Merge remote-tracking branch 'origin/5.6' into dev 2015-11-18 09:01:51 +01:00
qiodevice QIODevice: handle incomplete reads 2016-01-12 18:00:58 +00:00
qipaddress Tests: Remove CONFIG += parallel_test. 2015-09-05 07:16:50 +00:00
qlockfile Tests: Always verify whether QTemporaryDir/File creation succeeded. 2015-09-28 15:05:43 +00:00
qloggingcategory QLoggingCategory: fix default severity in Q_LOGGING_CATEGORY macro 2015-08-03 14:40:19 +00:00
qloggingregistry Update copyright headers 2015-02-11 06:49:51 +00:00
qnodebug tests/auto/corelib: Remove some placeholder formatting. 2015-10-22 03:54:29 +00:00
qprocess add a way to modify CreateProcess parameters 2015-12-10 16:29:33 +00:00
qprocess-noapplication Tests: Remove CONFIG += parallel_test. 2015-09-05 07:16:50 +00:00
qprocessenvironment Tests: Remove CONFIG += parallel_test. 2015-09-05 07:16:50 +00:00
qresourceengine Tests: Remove CONFIG += parallel_test. 2015-09-05 07:16:50 +00:00
qsavefile Merge remote-tracking branch 'origin/5.6' into dev 2015-10-14 15:45:35 +02:00
qsettings Merge remote-tracking branch 'origin/5.6' into dev 2015-12-18 08:37:31 +01:00
qstandardpaths Merge remote-tracking branch 'origin/5.6' into dev 2016-01-08 12:35:24 +01:00
qstorageinfo Merge remote-tracking branch 'origin/5.6' into dev 2015-10-14 15:45:35 +02:00
qtemporarydir Merge remote-tracking branch 'origin/5.6' into dev 2016-01-08 12:35:24 +01:00
qtemporaryfile Tests: Remove CONFIG += parallel_test. 2015-09-05 07:16:50 +00:00
qtextstream Merge remote-tracking branch 'origin/5.6' into dev 2015-12-18 08:37:31 +01:00
qurl Merge remote-tracking branch 'origin/5.6' into dev 2016-01-08 12:35:24 +01:00
qurlinternal Tests: Remove CONFIG += parallel_test. 2015-09-05 07:16:50 +00:00
qurlquery Tests: Use QCOMPARE() with QLatin1String() for QString values. 2015-10-14 08:32:42 +00:00
qwinoverlappedionotifier Remove QT_DISABLE_DEPRECATED_BEFORE=0 from tests not using deprecated API. 2015-09-01 16:57:46 +00:00
io.pro Add the QStorageInfo class 2014-08-13 16:09:58 +02:00