summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks
diff options
context:
space:
mode:
Diffstat (limited to 'tests/benchmarks')
-rw-r--r--tests/benchmarks/benchmarks.pro1
-rw-r--r--tests/benchmarks/qdir/tst_qdir.cpp35
-rw-r--r--tests/benchmarks/qnetworkreply/main.cpp74
-rw-r--r--tests/benchmarks/qnetworkreply/qnetworkreply.pro13
4 files changed, 117 insertions, 6 deletions
diff --git a/tests/benchmarks/benchmarks.pro b/tests/benchmarks/benchmarks.pro
index 1ee0c4179..bf02731f4 100644
--- a/tests/benchmarks/benchmarks.pro
+++ b/tests/benchmarks/benchmarks.pro
@@ -11,6 +11,7 @@ SUBDIRS = containers-associative \
qstring \
qstringlist \
qmatrix4x4 \
+ qnetworkreply \
qobject \
qrect \
qregexp \
diff --git a/tests/benchmarks/qdir/tst_qdir.cpp b/tests/benchmarks/qdir/tst_qdir.cpp
index 64056451f..7977e2892 100644
--- a/tests/benchmarks/qdir/tst_qdir.cpp
+++ b/tests/benchmarks/qdir/tst_qdir.cpp
@@ -1,9 +1,13 @@
#include <QtTest/QtTest>
-#include<dirent.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
+#ifdef Q_OS_WIN
+# include <windows.h>
+#else
+# include <sys/stat.h>
+# include <sys/types.h>
+# include <dirent.h>
+# include <unistd.h>
+#endif
class Test : public QObject{
Q_OBJECT
@@ -73,10 +77,29 @@ private slots:
}
}
}
-#ifndef Q_OS_WIN
+
void testLowLevel() {
+#ifdef Q_OS_WIN
+ const wchar_t *dirpath = (wchar_t*)testdir.absolutePath().utf16();
+ wchar_t appendedPath[MAX_PATH];
+ wcscpy(appendedPath, dirpath);
+ wcscat(appendedPath, L"\\*");
+
+ WIN32_FIND_DATA fd;
+ HANDLE hSearch = FindFirstFileW(appendedPath, &fd);
+ QVERIFY(hSearch == INVALID_HANDLE_VALUE);
+
+ QBENCHMARK {
+ do {
+
+ } while (FindNextFile(hSearch, &fd));
+ }
+ FindClose(hSearch);
+#else
QDir testdir(QDir::tempPath() + QLatin1String("/test_speed"));
DIR *dir = opendir(qPrintable(testdir.absolutePath()));
+ QVERIFY(dir);
+
QVERIFY(!chdir(qPrintable(testdir.absolutePath())));
QBENCHMARK {
struct dirent *item = readdir(dir);
@@ -90,8 +113,8 @@ private slots:
}
}
closedir(dir);
- }
#endif
+ }
};
QTEST_MAIN(Test)
diff --git a/tests/benchmarks/qnetworkreply/main.cpp b/tests/benchmarks/qnetworkreply/main.cpp
new file mode 100644
index 000000000..3f1e9f790
--- /dev/null
+++ b/tests/benchmarks/qnetworkreply/main.cpp
@@ -0,0 +1,74 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+// This file contains benchmarks for QNetworkReply functions.
+
+#include <QDebug>
+#include <qtest.h>
+#include <QtTest/QtTest>
+#include <QtNetwork/qnetworkreply.h>
+#include <QtNetwork/qnetworkrequest.h>
+#include <QtNetwork/qnetworkaccessmanager.h>
+#include "../../auto/network-settings.h"
+
+class tst_qnetworkreply : public QObject
+{
+ Q_OBJECT
+private slots:
+ void httpLatency();
+
+};
+
+void tst_qnetworkreply::httpLatency()
+{
+ QNetworkAccessManager manager;
+ QBENCHMARK{
+ QNetworkRequest request(QUrl("http://" + QtNetworkSettings::serverName() + "/qtest/"));
+ QNetworkReply* reply = manager.get(request);
+ connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop()), Qt::QueuedConnection);
+ QTestEventLoop::instance().enterLoop(5);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+ delete reply;
+ }
+}
+
+QTEST_MAIN(tst_qnetworkreply)
+
+#include "main.moc"
diff --git a/tests/benchmarks/qnetworkreply/qnetworkreply.pro b/tests/benchmarks/qnetworkreply/qnetworkreply.pro
new file mode 100644
index 000000000..060acf53d
--- /dev/null
+++ b/tests/benchmarks/qnetworkreply/qnetworkreply.pro
@@ -0,0 +1,13 @@
+load(qttest_p4)
+TEMPLATE = app
+TARGET = tst_qnetworkreply
+DEPENDPATH += .
+INCLUDEPATH += .
+
+QT -= gui
+QT += network
+
+CONFIG += release
+
+# Input
+SOURCES += main.cpp