diff options
-rw-r--r-- | src/testlib/qbenchmark.cpp | 7 | ||||
-rw-r--r-- | src/testlib/qbenchmark.h | 3 |
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 \ |