summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/testlib/qbenchmark.cpp7
-rw-r--r--src/testlib/qbenchmark.h3
2 files changed, 9 insertions, 1 deletions
diff --git a/src/testlib/qbenchmark.cpp b/src/testlib/qbenchmark.cpp
index eaec02f..42ce662 100644
--- a/src/testlib/qbenchmark.cpp
+++ b/src/testlib/qbenchmark.cpp
@@ -197,6 +197,13 @@ QTest::QBenchmarkIterationController::QBenchmarkIterationController(RunMode runM
if (runMode == RunOnce)
QBenchmarkTestMethodData::current->runOnce = true;
}
+
+QTest::QBenchmarkIterationController::QBenchmarkIterationController()
+{
+ QTest::beginBenchmarkMeasurement();
+ i = 0;
+}
+
/*! \internal
*/
QTest::QBenchmarkIterationController::~QBenchmarkIterationController()
diff --git a/src/testlib/qbenchmark.h b/src/testlib/qbenchmark.h
index 87d34e7..7b1792d 100644
--- a/src/testlib/qbenchmark.h
+++ b/src/testlib/qbenchmark.h
@@ -65,6 +65,7 @@ class Q_TESTLIB_EXPORT QBenchmarkIterationController
{
public:
enum RunMode { RepeatUntilValidMeasurement, RunOnce };
+ QBenchmarkIterationController();
QBenchmarkIterationController(RunMode runMode);
~QBenchmarkIterationController();
bool isDone();
@@ -75,7 +76,7 @@ public:
}
#define QBENCHMARK \
- for (QTest::QBenchmarkIterationController __iteration_controller(QTest::QBenchmarkIterationController::RepeatUntilValidMeasurement); \
+ for (QTest::QBenchmarkIterationController __iteration_controller(); \
__iteration_controller.isDone() == false; __iteration_controller.next())
#define QBENCHMARK_ONCE \