8a883dea1c
Merge in various minor changes and fixes that have been done to the branched copy in qtquick3d, and clean out some outdated code. Mostly just coding style fixes and cleanups, but also: - adds -keeprunning command line parameter, intended for tests that by default exits early if it seems the platform is too unstable (e.g. crashing) for a meaningful testrun. - Changes behaviour for fuzzy matches, from SKIP to PASS. The (mis)use of QSKIP was done to force log output; now the output is just printed by qInfo() instead. Pick-to: 6.2 Change-Id: I46e77a94cc5b1980ac420086c2ae88dc9b84ef12 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
73 lines
2.6 KiB
C++
73 lines
2.6 KiB
C++
/****************************************************************************
|
|
**
|
|
** Copyright (C) 2016 The Qt Company Ltd.
|
|
** Contact: https://www.qt.io/licensing/
|
|
**
|
|
** This file is part of the test suite of the Qt Toolkit.
|
|
**
|
|
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
|
** 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 The Qt Company. For licensing terms
|
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
|
** information use the contact form at https://www.qt.io/contact-us.
|
|
**
|
|
** GNU General Public License Usage
|
|
** Alternatively, this file may be used under the terms of the GNU
|
|
** General Public License version 3 as published by the Free Software
|
|
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
|
** included in the packaging of this file. Please review the following
|
|
** information to ensure the GNU General Public License requirements will
|
|
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
|
**
|
|
** $QT_END_LICENSE$
|
|
**
|
|
****************************************************************************/
|
|
|
|
#ifndef BASELINETEST_H
|
|
#define BASELINETEST_H
|
|
|
|
#include <QTest>
|
|
#include <QString>
|
|
|
|
namespace QBaselineTest {
|
|
void setAutoMode(bool mode);
|
|
void setSimFail(bool fail);
|
|
void handleCmdLineArgs(int *argcp, char ***argvp);
|
|
void addClientProperty(const QString& key, const QString& value);
|
|
bool connectToBaselineServer(QByteArray *msg = nullptr, const QString &testProject = QString(), const QString &testCase = QString());
|
|
bool checkImage(const QImage& img, const char *name, quint16 checksum, QByteArray *msg, bool *error, int manualdatatag = 0);
|
|
bool testImage(const QImage& img, QByteArray *msg, bool *error);
|
|
QTestData &newRow(const char *dataTag, quint16 checksum = 0);
|
|
bool disconnectFromBaselineServer();
|
|
bool shouldAbortIfUnstable();
|
|
}
|
|
|
|
#define QBASELINE_CHECK_SUM(image, name, checksum)\
|
|
do {\
|
|
QByteArray _msg;\
|
|
bool _err = false;\
|
|
if (!QBaselineTest::checkImage((image), (name), (checksum), &_msg, &_err)) {\
|
|
QFAIL(_msg.constData());\
|
|
} else if (_err) {\
|
|
QSKIP(_msg.constData());\
|
|
}\
|
|
} while (0)
|
|
|
|
#define QBASELINE_CHECK(image, name) QBASELINE_CHECK_SUM(image, name, 0)
|
|
|
|
#define QBASELINE_TEST(image)\
|
|
do {\
|
|
QByteArray _msg;\
|
|
bool _err = false;\
|
|
if (!QBaselineTest::testImage((image), &_msg, &_err)) {\
|
|
QFAIL(_msg.constData());\
|
|
} else if (_err) {\
|
|
QSKIP(_msg.constData());\
|
|
}\
|
|
} while (0)
|
|
|
|
#endif // BASELINETEST_H
|