Fix logic error in large file autotest
The function generating data blocks was filling the block to 16 bytes short of the blockSize, then appending three 8 byte values, causing the block to grow 8 bytes beyond blockSize and then truncating it back to blockSize. This commit makes the code fill the block to 24 bytes short of the blockSize, so that the block will always end up at the correct size and truncation is not needed. Change-Id: I9fe6e6d6cf7bc445513b53e0a910d205c4c8002f Reviewed-by: Rohan McGovern (cherry picked from commit b1eb564830ff1b754de14919ce5c1547e9758f7c)
This commit is contained in:
parent
2d471a2bef
commit
9e0049f656
@ -206,14 +206,13 @@ static inline QByteArray generateDataBlock(int blockSize, QString text, qint64 u
|
|||||||
|
|
||||||
QByteArray filler("0123456789");
|
QByteArray filler("0123456789");
|
||||||
block.append(filler.right(10 - block.size() % 10));
|
block.append(filler.right(10 - block.size() % 10));
|
||||||
topUpWith(block, filler, blockSize - 2 * sizeof(qint64));
|
topUpWith(block, filler, blockSize - 3 * sizeof(qint64));
|
||||||
|
|
||||||
appendRaw(block, counter);
|
appendRaw(block, counter);
|
||||||
appendRaw(block, userBits);
|
appendRaw(block, userBits);
|
||||||
appendRaw(block, randomBits);
|
appendRaw(block, randomBits);
|
||||||
|
|
||||||
Q_ASSERT( block.size() >= blockSize );
|
Q_ASSERT( block.size() == blockSize );
|
||||||
block.resize(blockSize);
|
|
||||||
|
|
||||||
++counter;
|
++counter;
|
||||||
return block;
|
return block;
|
||||||
|
Loading…
Reference in New Issue
Block a user