Mercurial > trustbridge
annotate ui/tests/nsstest.cpp @ 1373:00fcb9c4d16b
(issue179) Handle SW verify failures and try to redownload the update
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 24 Nov 2014 16:46:08 +0100 |
parents | 317ee9dc4684 |
children |
rev | line source |
---|---|
404 | 1 /* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik |
2 * Software engineering by Intevation GmbH | |
3 * | |
4 * This file is Free Software under the GNU GPL (v>=2) | |
5 * and comes with ABSOLUTELY NO WARRANTY! | |
6 * See LICENSE.txt for details. | |
7 */ | |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
8 #include <cert.h> |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
9 #include <certdb.h> |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
10 #include <certt.h> |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
11 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
12 #include <nss.h> |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
13 #include <pk11pub.h> |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
14 |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
15 #include "nsstest.h" |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
16 #include "nssstore.h" |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
17 #include "strhelp.h" |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
18 |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
19 #include <QTest> |
330
1e6d1eab8395
Fix NSS unit test for Windows and change how instructions are written
Andre Heinecke <aheinecke@intevation.de>
parents:
326
diff
changeset
|
20 #include <QTextCodec> |
1e6d1eab8395
Fix NSS unit test for Windows and change how instructions are written
Andre Heinecke <aheinecke@intevation.de>
parents:
326
diff
changeset
|
21 |
1e6d1eab8395
Fix NSS unit test for Windows and change how instructions are written
Andre Heinecke <aheinecke@intevation.de>
parents:
326
diff
changeset
|
22 #ifdef WIN32 |
1e6d1eab8395
Fix NSS unit test for Windows and change how instructions are written
Andre Heinecke <aheinecke@intevation.de>
parents:
326
diff
changeset
|
23 #define endl "\r\n" |
1e6d1eab8395
Fix NSS unit test for Windows and change how instructions are written
Andre Heinecke <aheinecke@intevation.de>
parents:
326
diff
changeset
|
24 #endif |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
25 |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
26 QList<QByteArray> NSSTest::get_nss_certs (QTemporaryDir *nssDir) |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
27 { |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
28 CERTCertList *list; |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
29 CERTCertListNode *node; |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
30 QList<QByteArray> retval; |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
31 |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
32 if (NSS_Initialize(nssDir->path().toLocal8Bit().constData(), |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
33 "", "", "secmod.db", NSS_INIT_READONLY) |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
34 == SECSuccess) |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
35 { |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
36 list = PK11_ListCerts(PK11CertListAll, NULL); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
37 for (node = CERT_LIST_HEAD(list); !CERT_LIST_END(node, list); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
38 node = CERT_LIST_NEXT(node)) { |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
39 retval << QByteArray((const char*)node->cert->derCert.data, |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
40 (int)node->cert->derCert.len); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
41 } |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
42 CERT_DestroyCertList(list); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
43 NSS_Shutdown(); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
44 } |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
45 else |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
46 { |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
47 qDebug("Could not open nss certificate store!\n"); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
48 } |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
49 return retval; |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
50 } |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
51 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
52 void NSSTest::setupTestDir(QTemporaryDir *nssDir) |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
53 { |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
54 /* Copy the empty nss db in the temporary dir */ |
330
1e6d1eab8395
Fix NSS unit test for Windows and change how instructions are written
Andre Heinecke <aheinecke@intevation.de>
parents:
326
diff
changeset
|
55 QVERIFY(QFile::copy(":/nss/cert8.db", nssDir->path() + "/" +"cert8.db")); |
1e6d1eab8395
Fix NSS unit test for Windows and change how instructions are written
Andre Heinecke <aheinecke@intevation.de>
parents:
326
diff
changeset
|
56 QVERIFY(QFile::copy(":/nss/key3.db", nssDir->path() + "/" +"key3.db")); |
1e6d1eab8395
Fix NSS unit test for Windows and change how instructions are written
Andre Heinecke <aheinecke@intevation.de>
parents:
326
diff
changeset
|
57 QVERIFY(QFile::copy(":/nss/secmod.db", nssDir->path() + "/" +"secmod.db")); |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
58 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
59 QVERIFY(QFile::setPermissions(nssDir->path() + "/" +"cert8.db", |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
60 QFileDevice::ReadOwner | QFileDevice::WriteOwner)); |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
61 QVERIFY(QFile::setPermissions(nssDir->path() + "/" +"key3.db", |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
62 QFileDevice::ReadOwner | QFileDevice::WriteOwner)); |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
63 QVERIFY(QFile::setPermissions(nssDir->path() + "/" +"secmod.db", |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
64 QFileDevice::ReadOwner | QFileDevice::WriteOwner)); |
346
a54925d41056
Enable autoremove again
Andre Heinecke <andre.heinecke@intevation.de>
parents:
330
diff
changeset
|
65 // nssDir->setAutoRemove(false); |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
66 } |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
67 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
68 void NSSTest::initTestCase() { |
330
1e6d1eab8395
Fix NSS unit test for Windows and change how instructions are written
Andre Heinecke <aheinecke@intevation.de>
parents:
326
diff
changeset
|
69 QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); /* use system default */ |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
70 |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
71 /* Set up a temporary list */ |
371
6b78a89c1e17
Fix NSS test in release build and add verify's to avoid segfault with invalid list.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
346
diff
changeset
|
72 #ifdef RELEASE_BUILD |
6b78a89c1e17
Fix NSS test in release build and add verify's to avoid segfault with invalid list.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
346
diff
changeset
|
73 QFile res(":/list-valid-signed-release.txt"); |
6b78a89c1e17
Fix NSS test in release build and add verify's to avoid segfault with invalid list.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
346
diff
changeset
|
74 #else |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
75 QFile res(":/list-valid-signed.txt"); |
371
6b78a89c1e17
Fix NSS test in release build and add verify's to avoid segfault with invalid list.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
346
diff
changeset
|
76 #endif |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
77 res.open(QIODevice::ReadOnly); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
78 validListFile.open(); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
79 validListFile.write(res.readAll()); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
80 validListFile.close(); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
81 |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
82 setupTestDir(&ffNSSDir); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
83 setupTestDir(&tbNSSDir); |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
84 |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
85 validList = CertificateList(validListFile.fileName().toLocal8Bit().data()); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
86 |
371
6b78a89c1e17
Fix NSS test in release build and add verify's to avoid segfault with invalid list.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
346
diff
changeset
|
87 QVERIFY(validList.isValid()); |
6b78a89c1e17
Fix NSS test in release build and add verify's to avoid segfault with invalid list.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
346
diff
changeset
|
88 |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
89 /* Create the profiles.ini `s set environment variables*/ |
346
a54925d41056
Enable autoremove again
Andre Heinecke <andre.heinecke@intevation.de>
parents:
330
diff
changeset
|
90 // fakeHome.setAutoRemove(false); |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
91 #ifndef WIN32 |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
92 fakeFirefoxDir = QDir(fakeHome.path() + "/.mozilla/firefox"); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
93 fakeThunderbirdDir = QDir(fakeHome.path() + "/.thunderbird"); |
492
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
94 |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
95 /* Copy the current systems NSSSHARED db in the fake home for benchmark tests */ |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
96 QDir fakeNSSSharedDir = fakeHome.path() + "/.pki/nssdb"; |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
97 QVERIFY(fakeNSSSharedDir.mkpath(fakeNSSSharedDir.path())); |
830
344d15e23f6c
Add nss shared db data and use it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
534
diff
changeset
|
98 QVERIFY(QFile::copy(":/nss/pki-nssdb/cert9.db", |
492
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
99 fakeNSSSharedDir.path() + "cert9.db")); |
830
344d15e23f6c
Add nss shared db data and use it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
534
diff
changeset
|
100 QVERIFY(QFile::copy(":/nss/pki-nssdb/key4.db", |
492
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
101 fakeNSSSharedDir.path() + "key4.db")); |
830
344d15e23f6c
Add nss shared db data and use it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
534
diff
changeset
|
102 QFile pkcs11(":/nss/pki-nssdb/pkcs11.txt"); |
344d15e23f6c
Add nss shared db data and use it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
534
diff
changeset
|
103 pkcs11.open(QIODevice::ReadOnly); |
344d15e23f6c
Add nss shared db data and use it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
534
diff
changeset
|
104 |
344d15e23f6c
Add nss shared db data and use it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
534
diff
changeset
|
105 QString pkcs11content = pkcs11.readAll(); |
344d15e23f6c
Add nss shared db data and use it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
534
diff
changeset
|
106 pkcs11.close(); |
344d15e23f6c
Add nss shared db data and use it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
534
diff
changeset
|
107 pkcs11content.replace("TOREPLACE", fakeNSSSharedDir.path()); |
344d15e23f6c
Add nss shared db data and use it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
534
diff
changeset
|
108 QFile p11outfile (fakeNSSSharedDir.path() + "pkcs11.txt"); |
344d15e23f6c
Add nss shared db data and use it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
534
diff
changeset
|
109 p11outfile.open(QIODevice::WriteOnly); |
344d15e23f6c
Add nss shared db data and use it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
534
diff
changeset
|
110 p11outfile.write(pkcs11content.toUtf8()); |
344d15e23f6c
Add nss shared db data and use it.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
534
diff
changeset
|
111 p11outfile.close(); |
492
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
112 |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
113 QVERIFY(!setenv ("HOME", fakeHome.path().toLocal8Bit().constData(), 1)); |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
114 #else |
326
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
115 { |
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
116 char buf[fakeHome.path().toLocal8Bit().size() + 9]; |
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
117 snprintf(buf, fakeHome.path().toLocal8Bit().size() + 9, |
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
118 "APPDATA=%s",fakeHome.path().toLocal8Bit().constData()); |
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
119 QVERIFY(_putenv (buf) != -1); |
ad28f6b60e6b
Fix nsstest build for windows
Andre Heinecke <aheinecke@intevation.de>
parents:
307
diff
changeset
|
120 } |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
121 fakeFirefoxDir = QDir(fakeHome.path() + "/Mozilla/firefox"); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
122 fakeThunderbirdDir = QDir(fakeHome.path() + "/Thunderbird"); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
123 #endif |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
124 QVERIFY(fakeFirefoxDir.mkpath(fakeFirefoxDir.path())); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
125 QVERIFY(fakeThunderbirdDir.mkpath(fakeThunderbirdDir.path())); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
126 |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
127 QFile mozProfile(fakeFirefoxDir.absoluteFilePath("profiles.ini")); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
128 QFile tbProfile(fakeThunderbirdDir.absoluteFilePath("profiles.ini")); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
129 |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
130 /* Write profiles */ |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
131 QVERIFY(mozProfile.open(QIODevice::WriteOnly)); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
132 QTextStream ffStream(&mozProfile); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
133 ffStream << endl << "[General]"<< |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
134 "StartWithLastProfile=1" << endl << |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
135 "[Profile0]" << endl << |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
136 "Name=default" << endl << |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
137 "IsRelative=1" << endl << |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
138 "Path=" << fakeFirefoxDir.relativeFilePath(ffNSSDir.path()) << endl; |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
139 ffStream.flush(); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
140 mozProfile.close(); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
141 |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
142 QVERIFY(tbProfile.open(QIODevice::WriteOnly)); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
143 QTextStream tbStream(&tbProfile); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
144 tbStream << endl << "[General]"<< |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
145 "StartWithLastProfile=1" << endl << |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
146 "[Profile102]" << endl << |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
147 "Name=default" << endl << |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
148 "IsRelative=0" << endl << |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
149 "Path=" << tbNSSDir.path() << endl; |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
150 tbStream.flush(); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
151 tbProfile.close(); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
152 } |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
153 |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
154 void NSSTest::testInstRemove() { |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
155 char ** to_install = NULL, |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
156 ** to_remove = NULL; |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
157 |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
158 QList<Certificate> instList; |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
159 |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
160 /* Install all certificates */ |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
161 foreach (const Certificate &cert, validList.getCertificates()) { |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
162 if (!cert.isInstallCert()) |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
163 continue; |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
164 instList << cert; |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
165 strv_append (&to_install, cert.base64Line().toLatin1().constData() + 2, |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
166 cert.base64Line().size() - 2); |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
167 } |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
168 QVERIFY((size_t) instList.size() == strv_length(to_install)); |
371
6b78a89c1e17
Fix NSS test in release build and add verify's to avoid segfault with invalid list.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
346
diff
changeset
|
169 QVERIFY(strv_length(to_install) != 0); |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
170 |
305
4a3febc6d806
Some minor cleanups. Better debug output more Verify's
Andre Heinecke <andre.heinecke@intevation.de>
parents:
304
diff
changeset
|
171 QVERIFY(write_stores_nss(to_install, to_remove) == 0); |
4a3febc6d806
Some minor cleanups. Better debug output more Verify's
Andre Heinecke <andre.heinecke@intevation.de>
parents:
304
diff
changeset
|
172 |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
173 { |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
174 /* Verify that everything is installed */ |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
175 QList<QByteArray> installedCertsFF = get_nss_certs(&ffNSSDir); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
176 QList<QByteArray> installedCertsTB = get_nss_certs(&tbNSSDir); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
177 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
178 QVERIFY(installedCertsFF.size() == instList.size()); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
179 QVERIFY(installedCertsFF == installedCertsTB); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
180 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
181 for (int i = 0; to_install[i]; i++) { |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
182 QByteArray bai = QByteArray::fromBase64(to_install[i]); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
183 QVERIFY(installedCertsFF.contains(bai)); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
184 } |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
185 } |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
186 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
187 { |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
188 /* Remove one certificate */ |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
189 QVERIFY(instList.size() > 2); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
190 strv_append (&to_remove, to_install[1], qstrlen(to_install[1])); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
191 |
477
48161978c84c
Add some more verifications
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
192 QList<QByteArray> beforeFF = get_nss_certs(&ffNSSDir); |
48161978c84c
Add some more verifications
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
193 QVERIFY(strv_length(to_remove) == 1); |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
194 QVERIFY(write_stores_nss(NULL, to_remove) == 0); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
195 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
196 QList<QByteArray> installedCertsFF = get_nss_certs(&ffNSSDir); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
197 QList<QByteArray> installedCertsTB = get_nss_certs(&tbNSSDir); |
477
48161978c84c
Add some more verifications
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
198 QVERIFY(beforeFF.size() > 0); |
48161978c84c
Add some more verifications
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
199 QVERIFY(beforeFF.size() - 1 == installedCertsFF.size()); |
307
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
200 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
201 QVERIFY(installedCertsFF == installedCertsTB); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
202 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
203 QByteArray bai = QByteArray::fromBase64(to_install[1]); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
204 QVERIFY(!installedCertsTB.contains(bai)); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
205 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
206 QVERIFY((size_t)installedCertsTB.size() == strv_length(to_install) - 1); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
207 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
208 for (int i = 0; to_install[i]; i++) { |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
209 if (i == 1) { |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
210 continue; |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
211 } |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
212 QByteArray bai = QByteArray::fromBase64(to_install[i]); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
213 QVERIFY(installedCertsTB.contains(bai)); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
214 } |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
215 } |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
216 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
217 { |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
218 /* Readd all certificates check for duplication*/ |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
219 QVERIFY(write_stores_nss(to_install, NULL) == 0); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
220 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
221 QList<QByteArray> installedCertsFF = get_nss_certs(&ffNSSDir); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
222 QList<QByteArray> installedCertsTB = get_nss_certs(&tbNSSDir); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
223 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
224 QVERIFY(installedCertsFF == installedCertsTB); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
225 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
226 QVERIFY((size_t)installedCertsTB.size() == strv_length(to_install)); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
227 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
228 for (int i = 0; to_install[i]; i++) { |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
229 QByteArray bai = QByteArray::fromBase64(to_install[i]); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
230 QVERIFY(installedCertsTB.contains(bai)); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
231 } |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
232 } |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
233 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
234 { |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
235 /* Remove all certificates */ |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
236 QVERIFY(write_stores_nss(NULL, to_install) == 0); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
237 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
238 QList<QByteArray> installedCertsFF = get_nss_certs(&ffNSSDir); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
239 QList<QByteArray> installedCertsTB = get_nss_certs(&tbNSSDir); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
240 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
241 QVERIFY(installedCertsFF == installedCertsTB); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
242 |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
243 QVERIFY(installedCertsTB.size() == 0); |
2fd69803d219
Complete InstRemove NSS test
Andre Heinecke <andre.heinecke@intevation.de>
parents:
305
diff
changeset
|
244 } |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
245 } |
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
246 |
492
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
247 void NSSTest::benchmarkInstall() |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
248 { |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
249 char ** to_install = NULL, |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
250 ** to_remove = NULL; |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
251 |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
252 QList<Certificate> instList; |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
253 |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
254 /* Install all certificates */ |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
255 foreach (const Certificate &cert, validList.getCertificates()) { |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
256 if (!cert.isInstallCert()) |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
257 continue; |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
258 instList << cert; |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
259 strv_append (&to_install, cert.base64Line().toLatin1().constData() + 2, |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
260 cert.base64Line().size() - 2); |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
261 } |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
262 QVERIFY((size_t) instList.size() == strv_length(to_install)); |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
263 QVERIFY(strv_length(to_install) != 0); |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
264 |
534
c262ee333c56
Only benchmark nss once
Andre Heinecke <aheinecke@intevation.de>
parents:
492
diff
changeset
|
265 QBENCHMARK_ONCE { |
492
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
266 write_stores_nss(to_install, to_remove); |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
267 } |
dcb014e7d32f
Add NSSShared to test environment and create benchmark
Andre Heinecke <aheinecke@intevation.de>
parents:
477
diff
changeset
|
268 } |
1060
317ee9dc4684
(issue46) Make debug output optional in cinst and mozilla and propagate its setting.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
830
diff
changeset
|
269 |
317ee9dc4684
(issue46) Make debug output optional in cinst and mozilla and propagate its setting.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
830
diff
changeset
|
270 bool g_debug = true; |
317ee9dc4684
(issue46) Make debug output optional in cinst and mozilla and propagate its setting.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
830
diff
changeset
|
271 |
304
eecc06f714fd
Add first nsstest.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
diff
changeset
|
272 QTEST_GUILESS_MAIN (NSSTest); |