summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/installer/binaryformat/tst_binaryformat.cpp174
1 files changed, 80 insertions, 94 deletions
diff --git a/tests/auto/installer/binaryformat/tst_binaryformat.cpp b/tests/auto/installer/binaryformat/tst_binaryformat.cpp
index 87a1f7ef8..548d4fb1a 100644
--- a/tests/auto/installer/binaryformat/tst_binaryformat.cpp
+++ b/tests/auto/installer/binaryformat/tst_binaryformat.cpp
@@ -70,7 +70,7 @@ public:
virtual bool performOperation() { return true; }
virtual bool undoOperation() { return true; }
virtual bool testOperation() { return true; }
- virtual Operation *clone() const { return 0; }
+ virtual KDUpdater::UpdateOperation *clone() const { return 0; }
};
class tst_BinaryFormat : public QObject
@@ -183,42 +183,29 @@ private slots:
layout.operationsSegment = Range<qint64>::fromStartAndEnd(start, end);
QTemporaryFile data;
- QTemporaryFile data2;
- { // put into the scope to make the temporary file auto remove feature work
-
- ResourceCollectionManager manager;
-
- QInstaller::openForWrite(&data);
- QInstaller::blockingWrite(&data, QByteArray("Collection 1, Resource 1."));
- data.close();
-
- ResourceCollection collection;
- collection.setName(QByteArray("Collection 1"));
-
- QSharedPointer<Resource> resource(new Resource(data.fileName()));
- resource->setName("Resource 1");
- collection.appendResource(resource);
- manager.insertCollection(collection);
+ QInstaller::openForWrite(&data);
+ QInstaller::blockingWrite(&data, QByteArray("Collection 1, Resource 1."));
+ data.close();
- QInstaller::openForWrite(&data2);
- QInstaller::blockingWrite(&data2, QByteArray("Collection 2, Resource 2."));
- data2.close();
+ QSharedPointer<Resource> resource(new Resource(data.fileName(), QByteArray("Resource 1")));
+ ResourceCollection collection(QByteArray("Collection 1"));
+ collection.appendResource(resource);
- ResourceCollection collection2;
- collection2.setName(QByteArray("Collection 2"));
+ QTemporaryFile data2;
+ QInstaller::openForWrite(&data2);
+ QInstaller::blockingWrite(&data2, QByteArray("Collection 2, Resource 2."));
+ data2.close();
- QSharedPointer<Resource> resource2(new
- Resource(data2.fileName()));
- resource2->setName("Resource 2");
- collection2.appendResource(resource2);
- manager.insertCollection(collection2);
+ QSharedPointer<Resource> resource2(new Resource(data2.fileName(), QByteArray("Resource 2")));
+ ResourceCollection collection2(QByteArray("Collection 2"));
+ collection2.appendResource(resource2);
- layout.collectionCount = manager.collectionCount();
- layout.resourceCollectionsSegment = manager.write(&binary, -layout.endOfExectuable);
+ ResourceCollectionManager manager;
+ manager.insertCollection(collection);
+ manager.insertCollection(collection2);
- resource->close();
- resource2->close();
- }
+ layout.collectionCount = manager.collectionCount();
+ layout.resourceCollectionsSegment = manager.write(&binary, -layout.endOfExectuable);
QInstaller::appendInt64Range(&binary, layout.resourceCollectionsSegment.moved(-layout
.endOfExectuable));
@@ -247,35 +234,35 @@ private slots:
void readBinaryContent()
{
- const QSharedPointer<QFile> binary(new QFile(m_binary));
- QInstaller::openForRead(binary.data());
- QCOMPARE(QInstaller::retrieveData(binary.data(), scTinySize), QByteArray(scTinySize, '1'));
+ QFile binary(m_binary);
+ QInstaller::openForRead(&binary);
+ QCOMPARE(QInstaller::retrieveData(&binary, scTinySize), QByteArray(scTinySize, '1'));
Layout layout;
- layout.endOfExectuable = binary->pos();
+ layout.endOfExectuable = binary.pos();
QCOMPARE(layout.endOfExectuable, m_layout.endOfExectuable);
- const qint64 pos = BinaryContent::findMagicCookie(binary.data(), BinaryContent::MagicCookie);
+ const qint64 pos = BinaryContent::findMagicCookie(&binary, BinaryContent::MagicCookie);
layout.endOfBinaryContent = pos + sizeof(qint64);
QCOMPARE(layout.endOfBinaryContent, m_layout.endOfBinaryContent);
- binary->seek(layout.endOfBinaryContent - (4 * sizeof(qint64)));
+ binary.seek(layout.endOfBinaryContent - (4 * sizeof(qint64)));
- layout.metaSegmentsCount = QInstaller::retrieveInt64(binary.data());
+ layout.metaSegmentsCount = QInstaller::retrieveInt64(&binary);
QCOMPARE(layout.metaSegmentsCount, m_layout.metaSegmentsCount);
const qint64 offsetCollectionIndexSegments = layout.endOfBinaryContent
- ((layout.metaSegmentsCount * (2 * sizeof(qint64))) // minus size of the meta segments
- + (8 * sizeof(qint64))); // meta count, offset/length component index, marker, cookie...
+ + (8 * sizeof(qint64))); // meta count, offset/length collection index, marker, cookie...
- binary->seek(offsetCollectionIndexSegments);
+ binary.seek(offsetCollectionIndexSegments);
- layout.resourceCollectionsSegment = QInstaller::retrieveInt64Range(binary.data())
+ layout.resourceCollectionsSegment = QInstaller::retrieveInt64Range(&binary)
.moved(layout.endOfExectuable);
QCOMPARE(layout.resourceCollectionsSegment, m_layout.resourceCollectionsSegment);
for (int i = 0; i < layout.metaSegmentsCount; ++i) {
- layout.metaResourceSegments.append(QInstaller::retrieveInt64Range(binary.data())
+ layout.metaResourceSegments.append(QInstaller::retrieveInt64Range(&binary)
.moved(layout.endOfExectuable));
}
layout.metaResourcesSegment = Range<qint64>::fromStartAndEnd(layout.metaResourceSegments
@@ -285,58 +272,58 @@ private slots:
QCOMPARE(layout.metaResourceSegments.first(), m_layout.metaResourceSegments.first());
QCOMPARE(layout.metaResourceSegments.last(), m_layout.metaResourceSegments.last());
- layout.operationsSegment = QInstaller::retrieveInt64Range(binary.data()).moved(layout
+ layout.operationsSegment = QInstaller::retrieveInt64Range(&binary).moved(layout
.endOfExectuable);
QCOMPARE(layout.operationsSegment, m_layout.operationsSegment);
- QCOMPARE(layout.metaSegmentsCount, QInstaller::retrieveInt64(binary.data()));
+ QCOMPARE(layout.metaSegmentsCount, QInstaller::retrieveInt64(&binary));
- layout.binaryContentSize = QInstaller::retrieveInt64(binary.data());
+ layout.binaryContentSize = QInstaller::retrieveInt64(&binary);
QCOMPARE(layout.binaryContentSize, m_layout.binaryContentSize);
QCOMPARE(layout.endOfExectuable, layout.endOfBinaryContent - layout.binaryContentSize);
- layout.magicMarker = QInstaller::retrieveInt64(binary.data());
+ layout.magicMarker = QInstaller::retrieveInt64(&binary);
QCOMPARE(layout.magicMarker, m_layout.magicMarker);
- layout.magicCookie = QInstaller::retrieveInt64(binary.data());
+ layout.magicCookie = QInstaller::retrieveInt64(&binary);
QCOMPARE(layout.magicCookie, m_layout.magicCookie);
- binary->seek(layout.operationsSegment.start());
+ binary.seek(layout.operationsSegment.start());
- layout.operationsCount = QInstaller::retrieveInt64(binary.data());
+ layout.operationsCount = QInstaller::retrieveInt64(&binary);
QCOMPARE(layout.operationsCount, m_layout.operationsCount);
for (int i = 0; i < layout.operationsCount; ++i) {
- QCOMPARE(m_operations.at(i).name, QInstaller::retrieveString(binary.data()));
- QCOMPARE(m_operations.at(i).xml, QInstaller::retrieveString(binary.data()));
+ QCOMPARE(m_operations.at(i).name, QInstaller::retrieveString(&binary));
+ QCOMPARE(m_operations.at(i).xml, QInstaller::retrieveString(&binary));
}
- layout.operationsCount = QInstaller::retrieveInt64(binary.data());
+ layout.operationsCount = QInstaller::retrieveInt64(&binary);
QCOMPARE(layout.operationsCount, m_layout.operationsCount);
- layout.collectionCount = QInstaller::retrieveInt64(binary.data());
+ layout.collectionCount = QInstaller::retrieveInt64(&binary);
QCOMPARE(layout.collectionCount, m_layout.collectionCount);
- binary->seek(layout.resourceCollectionsSegment.start());
- m_manager.read(binary, layout.endOfExectuable);
+ binary.seek(layout.resourceCollectionsSegment.start());
+ m_manager.read(&binary, layout.endOfExectuable);
- const QList<ResourceCollection> components = m_manager.collections();
- QCOMPARE(components.count(), m_layout.collectionCount);
+ const QList<ResourceCollection> collections = m_manager.collections();
+ QCOMPARE(collections.count(), m_layout.collectionCount);
- ResourceCollection component = m_manager.collectionByName("Collection 1");
- QCOMPARE(component.resources().count(), 1);
+ ResourceCollection collection = m_manager.collectionByName(QByteArray("Collection 1"));
+ QCOMPARE(collection.resources().count(), 1);
- QSharedPointer<Resource> resource(component.resourceByName("Resource 1"));
+ QSharedPointer<Resource> resource(collection.resourceByName(QByteArray("Resource 1")));
QCOMPARE(resource.isNull(), false);
QCOMPARE(resource->isOpen(), false);
QCOMPARE(resource->open(), true);
QCOMPARE(resource->readAll(), QByteArray("Collection 1, Resource 1."));
resource->close();
- component = m_manager.collectionByName("Collection 2");
- QCOMPARE(component.resources().count(), 1);
+ collection = m_manager.collectionByName(QByteArray("Collection 2"));
+ QCOMPARE(collection.resources().count(), 1);
- resource = component.resourceByName("Resource 2");
+ resource = collection.resourceByName(QByteArray("Resource 2"));
QCOMPARE(resource.isNull(), false);
QCOMPARE(resource->isOpen(), false);
QCOMPARE(resource->open(), true);
@@ -346,46 +333,45 @@ private slots:
void testWriteBinaryContentFunction()
{
- QSharedPointer<QFile> existingBinary(new QFile(m_binary));
- QInstaller::openForRead(existingBinary.data());
-
- QSharedPointer<QFile> file(new QTemporaryFile);
- QInstaller::openForWrite(file.data());
- QInstaller::blockingWrite(file.data(), QByteArray(scTinySize, '1'));
-
- ResourceCollection resources;
- foreach (const Range<qint64> &segment, m_layout.metaResourceSegments) {
- resources.appendResource(QSharedPointer<Resource> (new Resource(existingBinary,
- segment)));
- }
+ ResourceCollection collection(QByteArray("QResources"));
+ foreach (const Range<qint64> &segment, m_layout.metaResourceSegments)
+ collection.appendResource(QSharedPointer<Resource>(new Resource(m_binary, segment)));
+ m_manager.insertCollection(collection);
QList<OperationBlob> operations;
foreach (const OperationBlob &operation, m_operations)
operations.append(operation);
- BinaryContent::writeBinaryContent(file, resources, operations, m_manager,
- m_layout.magicMarker, m_layout.magicCookie);
- file->close();
- existingBinary->close();
+ QTemporaryFile file;
+ QInstaller::openForWrite(&file);
+
+ QInstaller::blockingWrite(&file, QByteArray(scTinySize, '1'));
+ BinaryContent::writeBinaryContent(&file, operations, m_manager, m_layout.magicMarker,
+ m_layout.magicCookie);
+ file.close();
+
+ QFile existingBinary(m_binary);
+ QInstaller::openForRead(&existingBinary);
- QInstaller::openForRead(file.data());
- QInstaller::openForRead(existingBinary.data());
- QCOMPARE(file->readAll(), existingBinary->readAll());
+ QInstaller::openForRead(&file);
+ QCOMPARE(file.readAll(), existingBinary.readAll());
}
void testReadBinaryContentFunction()
{
- QSharedPointer<QFile> file(new QFile(m_binary));
- QInstaller::openForRead(file.data());
+ QFile file(m_binary);
+ QInstaller::openForRead(&file);
qint64 magicMarker;
- ResourceCollection collection;
QList<OperationBlob> operations;
ResourceCollectionManager manager;
- BinaryContent::readBinaryContent(file, &collection, &operations, &manager, &magicMarker,
+ BinaryContent::readBinaryContent(&file, &operations, &manager, &magicMarker,
m_layout.magicCookie);
+ file.close();
QCOMPARE(magicMarker, m_layout.magicMarker);
+
+ ResourceCollection collection = manager.collectionByName("QResources");
QCOMPARE(collection.resources().count(), m_layout.metaResourceSegments.count());
for (int i = 0; i < collection.resources().count(); ++i)
QCOMPARE(collection.resources().at(i)->segment(), m_layout.metaResourceSegments.at(i));
@@ -398,20 +384,20 @@ private slots:
QCOMPARE(manager.collectionCount(), m_manager.collectionCount());
- ResourceCollection component = manager.collectionByName("Collection 1");
- QCOMPARE(component.resources().count(), 1);
+ collection = manager.collectionByName(QByteArray("Collection 1"));
+ QCOMPARE(collection.resources().count(), 1);
- QSharedPointer<Resource> resource(component.resourceByName("Resource 1"));
+ QSharedPointer<Resource> resource(collection.resourceByName(QByteArray("Resource 1")));
QCOMPARE(resource.isNull(), false);
QCOMPARE(resource->isOpen(), false);
QCOMPARE(resource->open(), true);
QCOMPARE(resource->readAll(), QByteArray("Collection 1, Resource 1."));
resource->close();
- component = manager.collectionByName("Collection 2");
- QCOMPARE(component.resources().count(), 1);
+ collection = manager.collectionByName(QByteArray("Collection 2"));
+ QCOMPARE(collection.resources().count(), 1);
- resource = component.resourceByName("Resource 2");
+ resource = collection.resourceByName(QByteArray("Resource 2"));
QCOMPARE(resource.isNull(), false);
QCOMPARE(resource->isOpen(), false);
QCOMPARE(resource->open(), true);
@@ -421,7 +407,7 @@ private slots:
void cleanupTestCase()
{
- m_manager.reset();
+ m_manager.clear();
QFile::remove(m_binary);
}