Memory management fixes in tests.

This commit is contained in:
Felix Geyer 2012-04-22 23:09:52 +02:00
parent ecc11d3207
commit bf25959b68
6 changed files with 33 additions and 20 deletions

View file

@ -87,9 +87,9 @@ void TestDeletedObjects::createAndDelete(Database* db, int delObjectsSize)
void TestDeletedObjects::testDeletedObjectsFromFile() void TestDeletedObjects::testDeletedObjectsFromFile()
{ {
KeePass2XmlReader* reader = new KeePass2XmlReader(); KeePass2XmlReader reader;
QString xmlFile = QString(KEEPASSX_TEST_DATA_DIR).append("/NewDatabase.xml"); QString xmlFile = QString(KEEPASSX_TEST_DATA_DIR).append("/NewDatabase.xml");
Database* db = reader->readDatabase(xmlFile); Database* db = reader.readDatabase(xmlFile);
createAndDelete(db, 2); createAndDelete(db, 2);
@ -154,6 +154,7 @@ void TestDeletedObjects::testDatabaseChange()
QCOMPARE(db->deletedObjects().size(), delObjectsSize); QCOMPARE(db->deletedObjects().size(), delObjectsSize);
QCOMPARE(db2->deletedObjects().size(), delObjectsSize2); QCOMPARE(db2->deletedObjects().size(), delObjectsSize2);
delete group;
delete db; delete db;
delete db2; delete db2;
} }

View file

@ -38,14 +38,13 @@ void TestKeePass2Reader::testNonAscii()
QString filename = QString(KEEPASSX_TEST_DATA_DIR).append("/NonAscii.kdbx"); QString filename = QString(KEEPASSX_TEST_DATA_DIR).append("/NonAscii.kdbx");
CompositeKey key; CompositeKey key;
key.addKey(PasswordKey(QString::fromUtf8("\xce\x94\xc3\xb6\xd8\xb6"))); key.addKey(PasswordKey(QString::fromUtf8("\xce\x94\xc3\xb6\xd8\xb6")));
KeePass2Reader* reader = new KeePass2Reader(); KeePass2Reader reader;
Database* db = reader->readDatabase(filename, key); Database* db = reader.readDatabase(filename, key);
QVERIFY(db); QVERIFY(db);
QVERIFY(!reader->hasError()); QVERIFY(!reader.hasError());
QCOMPARE(db->metadata()->name(), QString("NonAsciiTest")); QCOMPARE(db->metadata()->name(), QString("NonAsciiTest"));
delete db; delete db;
delete reader;
} }
void TestKeePass2Reader::testCompressed() void TestKeePass2Reader::testCompressed()
@ -53,14 +52,13 @@ void TestKeePass2Reader::testCompressed()
QString filename = QString(KEEPASSX_TEST_DATA_DIR).append("/Compressed.kdbx"); QString filename = QString(KEEPASSX_TEST_DATA_DIR).append("/Compressed.kdbx");
CompositeKey key; CompositeKey key;
key.addKey(PasswordKey("")); key.addKey(PasswordKey(""));
KeePass2Reader* reader = new KeePass2Reader(); KeePass2Reader reader;
Database* db = reader->readDatabase(filename, key); Database* db = reader.readDatabase(filename, key);
QVERIFY(db); QVERIFY(db);
QVERIFY(!reader->hasError()); QVERIFY(!reader.hasError());
QCOMPARE(db->metadata()->name(), QString("Compressed")); QCOMPARE(db->metadata()->name(), QString("Compressed"));
delete db; delete db;
delete reader;
} }
void TestKeePass2Reader::testProtectedStrings() void TestKeePass2Reader::testProtectedStrings()
@ -68,10 +66,10 @@ void TestKeePass2Reader::testProtectedStrings()
QString filename = QString(KEEPASSX_TEST_DATA_DIR).append("/ProtectedStrings.kdbx"); QString filename = QString(KEEPASSX_TEST_DATA_DIR).append("/ProtectedStrings.kdbx");
CompositeKey key; CompositeKey key;
key.addKey(PasswordKey("masterpw")); key.addKey(PasswordKey("masterpw"));
KeePass2Reader* reader = new KeePass2Reader(); KeePass2Reader reader;
Database* db = reader->readDatabase(filename, key); Database* db = reader.readDatabase(filename, key);
QVERIFY(db); QVERIFY(db);
QVERIFY(!reader->hasError()); QVERIFY(!reader.hasError());
QCOMPARE(db->metadata()->name(), QString("Protected Strings Test")); QCOMPARE(db->metadata()->name(), QString("Protected Strings Test"));
Entry* entry = db->rootGroup()->entries().at(0); Entry* entry = db->rootGroup()->entries().at(0);
@ -87,7 +85,6 @@ void TestKeePass2Reader::testProtectedStrings()
QVERIFY(!entry->attributes()->isProtected("TestUnprotected")); QVERIFY(!entry->attributes()->isProtected("TestUnprotected"));
delete db; delete db;
delete reader;
} }
void TestKeePass2Reader::testFormat200() void TestKeePass2Reader::testFormat200()
@ -95,10 +92,10 @@ void TestKeePass2Reader::testFormat200()
QString filename = QString(KEEPASSX_TEST_DATA_DIR).append("/Format200.kdbx"); QString filename = QString(KEEPASSX_TEST_DATA_DIR).append("/Format200.kdbx");
CompositeKey key; CompositeKey key;
key.addKey(PasswordKey("a")); key.addKey(PasswordKey("a"));
KeePass2Reader* reader = new KeePass2Reader(); KeePass2Reader reader;
Database* db = reader->readDatabase(filename, key); Database* db = reader.readDatabase(filename, key);
QVERIFY(db); QVERIFY(db);
QVERIFY(!reader->hasError()); QVERIFY(!reader.hasError());
QCOMPARE(db->rootGroup()->name(), QString("Format200")); QCOMPARE(db->rootGroup()->name(), QString("Format200"));
QVERIFY(!db->metadata()->protectTitle()); QVERIFY(!db->metadata()->protectTitle());
@ -120,6 +117,8 @@ void TestKeePass2Reader::testFormat200()
QCOMPARE(entry->historyItems().at(0)->attachments()->keys().size(), 0); QCOMPARE(entry->historyItems().at(0)->attachments()->keys().size(), 0);
QCOMPARE(entry->historyItems().at(1)->attachments()->keys().size(), 1); QCOMPARE(entry->historyItems().at(1)->attachments()->keys().size(), 1);
QCOMPARE(entry->historyItems().at(1)->attachments()->value("myattach.txt"), QByteArray("abcdefghijk")); QCOMPARE(entry->historyItems().at(1)->attachments()->value("myattach.txt"), QByteArray("abcdefghijk"));
delete db;
} }
KEEPASSX_QTEST_CORE_MAIN(TestKeePass2Reader) KEEPASSX_QTEST_CORE_MAIN(TestKeePass2Reader)

View file

@ -93,4 +93,10 @@ void TestKeePass2Writer::testAttachments()
QCOMPARE(entry->attachments()->value("aaa.txt"), QByteArray("also an attachment")); QCOMPARE(entry->attachments()->value("aaa.txt"), QByteArray("also an attachment"));
} }
void TestKeePass2Writer::cleanupTestCase()
{
delete m_dbOrg;
delete m_dbTest;
}
KEEPASSX_QTEST_CORE_MAIN(TestKeePass2Writer) KEEPASSX_QTEST_CORE_MAIN(TestKeePass2Writer)

View file

@ -31,6 +31,7 @@ private Q_SLOTS:
void testBasic(); void testBasic();
void testProtectedAttributes(); void testProtectedAttributes();
void testAttachments(); void testAttachments();
void cleanupTestCase();
private: private:
Database* m_dbOrg; Database* m_dbOrg;

View file

@ -67,11 +67,11 @@ void TestKeePass2XmlReader::initTestCase()
{ {
Crypto::init(); Crypto::init();
KeePass2XmlReader* reader = new KeePass2XmlReader(); KeePass2XmlReader reader;
QString xmlFile = QString(KEEPASSX_TEST_DATA_DIR).append("/NewDatabase.xml"); QString xmlFile = QString(KEEPASSX_TEST_DATA_DIR).append("/NewDatabase.xml");
m_db = reader->readDatabase(xmlFile); m_db = reader.readDatabase(xmlFile);
QVERIFY(m_db); QVERIFY(m_db);
QVERIFY(!reader->hasError()); QVERIFY(!reader.hasError());
} }
void TestKeePass2XmlReader::testMetadata() void TestKeePass2XmlReader::testMetadata()
@ -351,4 +351,9 @@ void TestKeePass2XmlReader::testDeletedObjects()
QVERIFY(objList.isEmpty()); QVERIFY(objList.isEmpty());
} }
void TestKeePass2XmlReader::cleanupTestCase()
{
delete m_db;
}
KEEPASSX_QTEST_CORE_MAIN(TestKeePass2XmlReader) KEEPASSX_QTEST_CORE_MAIN(TestKeePass2XmlReader)

View file

@ -39,6 +39,7 @@ private Q_SLOTS:
void testEntry2(); void testEntry2();
void testEntryHistory(); void testEntryHistory();
void testDeletedObjects(); void testDeletedObjects();
void cleanupTestCase();
private: private:
QDateTime genDT(int year, int month, int day, int hour, int min, int second); QDateTime genDT(int year, int month, int day, int hour, int min, int second);