qt5base-lts/tests/auto/corelib
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
..
animation qevent.h: Add fixme comments to remove include directives for Qt 6. 2015-10-02 06:37:03 +00:00
codecs Tests: Fix single-character string literals. 2015-10-13 18:14:27 +00:00
global Merge remote-tracking branch 'origin/5.6' into dev 2015-12-18 08:37:31 +01:00
io QIODevice: handle incomplete reads 2016-01-12 18:00:58 +00:00
itemmodels Merge remote-tracking branch 'origin/5.6' into dev 2015-12-02 23:33:06 +01:00
json Merge remote-tracking branch 'origin/5.6' into dev 2016-01-08 12:35:24 +01:00
kernel Merge remote-tracking branch 'origin/5.6' into dev 2015-12-18 08:37:31 +01:00
mimetypes Merge remote-tracking branch 'origin/5.6' into dev 2016-01-08 12:35:24 +01:00
plugin Merge "Merge remote-tracking branch 'origin/5.6' into dev" into refs/staging/dev 2015-11-05 08:27:56 +00:00
statemachine Add PointerToMemberFunction for ctor of QSignalTransition 2015-12-08 17:07:04 +00:00
thread Merge remote-tracking branch 'origin/5.6' into dev 2015-12-18 08:37:31 +01:00
tools Merge remote-tracking branch 'origin/5.6' into dev 2016-01-08 12:35:24 +01:00
xml tests/auto/corelib: Remove some placeholder formatting. 2015-10-22 03:54:29 +00:00
corelib.pro iOS: Enable building of basic tests 2014-01-22 12:35:17 +01:00