diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2013-12-20 11:14:04 -0800 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-14 00:34:25 +0100 |
commit | 8dcb72fd1e2c17ad000474496b6d000580e0a943 (patch) | |
tree | 7e210404d51d2aff3fc6cdd92938071701acc0b1 /src/testlib/qcsvbenchmarklogger_p.h | |
parent | 539196689e806f8c175bb50343a4dc2cab52e838 (diff) |
Add a CSV logging feature to the benchlib
This is only useful for logging benchmarks, since it won't print test
passes, failures, etc. It's useful for importing to spreadsheets to do
number-crunching.
[ChangeLog][QtTest]Added a CSV logging mode that is suitable for
importing benchmark results into spreadsheets. This can be enabled by
the -csv option on the command-line. The CSV logging mode will not print
test failures, debug messages, warnings, etc.
Change-Id: I245d6f86bb380645c9bc0d748cf474b3ed42cab8
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
Diffstat (limited to 'src/testlib/qcsvbenchmarklogger_p.h')
-rw-r--r-- | src/testlib/qcsvbenchmarklogger_p.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/src/testlib/qcsvbenchmarklogger_p.h b/src/testlib/qcsvbenchmarklogger_p.h new file mode 100644 index 0000000000..89692de972 --- /dev/null +++ b/src/testlib/qcsvbenchmarklogger_p.h @@ -0,0 +1,82 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Intel Corporation +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QtTest module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** 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, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, 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. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QCSVBENCHMARKLOGGER_P_H +#define QCSVBENCHMARKLOGGER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qabstracttestlogger_p.h" + +QT_BEGIN_NAMESPACE + +class QCsvBenchmarkLogger : public QAbstractTestLogger +{ +public: + QCsvBenchmarkLogger(const char *filename); + ~QCsvBenchmarkLogger(); + + void startLogging() Q_DECL_OVERRIDE; + void stopLogging() Q_DECL_OVERRIDE; + + void enterTestFunction(const char *function) Q_DECL_OVERRIDE; + void leaveTestFunction() Q_DECL_OVERRIDE; + + void addIncident(IncidentTypes type, const char *description, + const char *file = 0, int line = 0) Q_DECL_OVERRIDE; + void addBenchmarkResult(const QBenchmarkResult &result) Q_DECL_OVERRIDE; + + void addMessage(MessageTypes type, const QString &message, + const char *file = 0, int line = 0) Q_DECL_OVERRIDE; +}; + +QT_END_NAMESPACE + +#endif // QCSVBENCHMARKLOGGER_P_H |