comparison ui/tests/nsstest.cpp @ 492:dcb014e7d32f

Add NSSShared to test environment and create benchmark Benchmark is extremly slow currently
author Andre Heinecke <aheinecke@intevation.de>
date Thu, 24 Apr 2014 16:06:00 +0000
parents 48161978c84c
children c262ee333c56
comparison
equal deleted inserted replaced
491:810983b27a53 492:dcb014e7d32f
87 QVERIFY(validList.isValid()); 87 QVERIFY(validList.isValid());
88 88
89 /* Create the profiles.ini `s set environment variables*/ 89 /* Create the profiles.ini `s set environment variables*/
90 // fakeHome.setAutoRemove(false); 90 // fakeHome.setAutoRemove(false);
91 #ifndef WIN32 91 #ifndef WIN32
92 QVERIFY(!setenv ("HOME", fakeHome.path().toLocal8Bit().constData(), 1));
93 fakeFirefoxDir = QDir(fakeHome.path() + "/.mozilla/firefox"); 92 fakeFirefoxDir = QDir(fakeHome.path() + "/.mozilla/firefox");
94 fakeThunderbirdDir = QDir(fakeHome.path() + "/.thunderbird"); 93 fakeThunderbirdDir = QDir(fakeHome.path() + "/.thunderbird");
94
95 /* Copy the current systems NSSSHARED db in the fake home for benchmark tests */
96 QDir fakeNSSSharedDir = fakeHome.path() + "/.pki/nssdb";
97 QVERIFY(fakeNSSSharedDir.mkpath(fakeNSSSharedDir.path()));
98 qDebug() << "Copying: " << QDir::homePath() + "/.pki/nssdb/cert9.db" <<
99 " to " << fakeNSSSharedDir.path() + "cert9.db";
100 QVERIFY(QFile::copy(QDir::homePath() + "/.pki/nssdb/cert9.db",
101 fakeNSSSharedDir.path() + "cert9.db"));
102 QVERIFY(QFile::copy(QDir::homePath() + "/.pki/nssdb/key4.db",
103 fakeNSSSharedDir.path() + "key4.db"));
104 QVERIFY(QFile::copy(QDir::homePath() + "/.pki/nssdb/pkcs11.txt",
105 fakeNSSSharedDir.path() + "pkcs11.txt"));
106
107 QVERIFY(!setenv ("HOME", fakeHome.path().toLocal8Bit().constData(), 1));
95 #else 108 #else
96 { 109 {
97 char buf[fakeHome.path().toLocal8Bit().size() + 9]; 110 char buf[fakeHome.path().toLocal8Bit().size() + 9];
98 snprintf(buf, fakeHome.path().toLocal8Bit().size() + 9, 111 snprintf(buf, fakeHome.path().toLocal8Bit().size() + 9,
99 "APPDATA=%s",fakeHome.path().toLocal8Bit().constData()); 112 "APPDATA=%s",fakeHome.path().toLocal8Bit().constData());
223 236
224 QVERIFY(installedCertsTB.size() == 0); 237 QVERIFY(installedCertsTB.size() == 0);
225 } 238 }
226 } 239 }
227 240
241 void NSSTest::benchmarkInstall()
242 {
243 char ** to_install = NULL,
244 ** to_remove = NULL;
245
246 QList<Certificate> instList;
247
248 /* Install all certificates */
249 foreach (const Certificate &cert, validList.getCertificates()) {
250 if (!cert.isInstallCert())
251 continue;
252 instList << cert;
253 strv_append (&to_install, cert.base64Line().toLatin1().constData() + 2,
254 cert.base64Line().size() - 2);
255 }
256 QVERIFY((size_t) instList.size() == strv_length(to_install));
257 QVERIFY(strv_length(to_install) != 0);
258
259 QBENCHMARK {
260 write_stores_nss(to_install, to_remove);
261 }
262 }
228 QTEST_GUILESS_MAIN (NSSTest); 263 QTEST_GUILESS_MAIN (NSSTest);

http://wald.intevation.org/projects/trustbridge/