File indexing completed on 2024-06-23 05:20:27
0001 /* 0002 Copyright (c) 2022 Christian Mollekopf <christian@mkpf.ch> 0003 0004 This library is free software; you can redistribute it and/or modify it 0005 under the terms of the GNU Library General Public License as published by 0006 the Free Software Foundation; either version 2 of the License, or (at your 0007 option) any later version. 0008 0009 This library is distributed in the hope that it will be useful, but WITHOUT 0010 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0011 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 0012 License for more details. 0013 0014 You should have received a copy of the GNU Library General Public License 0015 along with this library; see the file COPYING.LIB. If not, write to the 0016 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 0017 02110-1301, USA. 0018 */ 0019 #include <objecttreeparser.h> 0020 0021 #include <QTest> 0022 #include <QDebug> 0023 0024 QByteArray readMailFromFile(const QString &mailFile) 0025 { 0026 QFile file(QLatin1String(MAIL_DATA_DIR) + QLatin1Char('/') + mailFile); 0027 file.open(QIODevice::ReadOnly); 0028 Q_ASSERT(file.isOpen()); 0029 return file.readAll(); 0030 } 0031 0032 class MimeTreeParserBenchmark : public QObject 0033 { 0034 Q_OBJECT 0035 private slots: 0036 void testOpenPGPInlineBenchmark() 0037 { 0038 MimeTreeParser::ObjectTreeParser otp; 0039 otp.parseObjectTree(readMailFromFile("openpgp-inline-charset-encrypted.mbox")); 0040 otp.print(); 0041 QElapsedTimer timer; 0042 timer.start(); 0043 otp.decryptParts(); 0044 0045 qWarning() << "Decryption took: " << timer.elapsed(); 0046 0047 QBENCHMARK { 0048 otp.decryptParts(); 0049 } 0050 0051 } 0052 }; 0053 0054 QTEST_GUILESS_MAIN(MimeTreeParserBenchmark) 0055 #include "mimetreeparserbenchmark.moc"