Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
quicktest.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QUICKTEST_H
6#define QUICKTEST_H
7
8#include <QtQuickTest/quicktestglobal.h>
9#include <QtTest/qtest.h>
10
12
13class QQuickItem;
14class QQuickWindow;
15
16Q_QMLTEST_EXPORT int quick_test_main(int argc, char **argv, const char *name, const char *sourceDir);
17Q_QMLTEST_EXPORT int quick_test_main_with_setup(int argc, char **argv, const char *name, const char *sourceDir, QObject *setup);
18
19#ifdef QUICK_TEST_SOURCE_DIR
20
21#define QUICK_TEST_MAIN(name)
22 int main(int argc, char **argv)
23 {
24 QTEST_SET_MAIN_SOURCE_PATH
25 return quick_test_main(argc, argv, #name, QUICK_TEST_SOURCE_DIR);
26 }
27
28#define QUICK_TEST_OPENGL_MAIN(name)
29 int main(int argc, char **argv)
30 {
31 QTEST_SET_MAIN_SOURCE_PATH
32 return quick_test_main(argc, argv, #name, QUICK_TEST_SOURCE_DIR);
33 }
34
35#define QUICK_TEST_MAIN_WITH_SETUP(name, QuickTestSetupClass)
36 int main(int argc, char **argv)
37 {
38 QTEST_SET_MAIN_SOURCE_PATH
39 QuickTestSetupClass setup;
40 return quick_test_main_with_setup(argc, argv, #name, QUICK_TEST_SOURCE_DIR, &setup);
41 }
42
43#else
44
45#define QUICK_TEST_MAIN(name)
46 int main(int argc, char **argv)
47 {
48 QTEST_SET_MAIN_SOURCE_PATH
49 return quick_test_main(argc, argv, #name, nullptr);
50 }
51
52#define QUICK_TEST_OPENGL_MAIN(name)
53 int main(int argc, char **argv)
54 {
55 QTEST_SET_MAIN_SOURCE_PATH
56 return quick_test_main(argc, argv, #name, nullptr);
57 }
58
59#define QUICK_TEST_MAIN_WITH_SETUP(name, QuickTestSetupClass)
60 int main(int argc, char **argv)
61 {
62 QTEST_SET_MAIN_SOURCE_PATH
63 QuickTestSetupClass setup;
64 return quick_test_main_with_setup(argc, argv, #name, nullptr, &setup);
65 }
66
67#endif
68
69namespace QQuickTest {
70static const int defaultTimeout = 5000;
71
72Q_QMLTEST_EXPORT bool qIsPolishScheduled(const QQuickItem *item);
73Q_QMLTEST_EXPORT bool qIsPolishScheduled(const QQuickWindow *window);
74
75#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0)
76#if QT_DEPRECATED_SINCE(6, 4)
77 QT_DEPRECATED_X("Use qWaitForPolish(QQuickItem *) instead")
79#endif
80#endif
81Q_QMLTEST_EXPORT bool qWaitForPolish(const QQuickItem *item, int timeout = defaultTimeout);
82Q_QMLTEST_EXPORT bool qWaitForPolish(const QQuickWindow *window, int timeout = defaultTimeout);
83
84namespace Private {
85// These are "private" functions that we need in the public macros and hence
86// can't live in private headers. This is the same as what qtestcase.h does with e.g. qCaught.
87// controlstestutils_p.h has an overload for QQuickPopup.
88[[nodiscard]] Q_QMLTEST_EXPORT QByteArray qActiveFocusFailureMessage(const QQuickItem *item);
89} // namespace Private
90} // namespace QQuickTest
91
92#define QVERIFY_ACTIVE_FOCUS(item)
93 do {
94 QVERIFY2(item->hasActiveFocus(), QQuickTest::Private::qActiveFocusFailureMessage(item).constData());
95 } while (false)
96
97#define QTRY_VERIFY_ACTIVE_FOCUS(item)
98 do {
99 QTRY_VERIFY2(item->hasActiveFocus(), QQuickTest::Private::qActiveFocusFailureMessage(item).constData());
100 } while (false)
101
102QT_END_NAMESPACE
103
104#endif
QSet< QByteArray > internedStrings
QList< QList< QBenchmarkResult > > resultsList
QByteArray intern(const QString &str)
QBenchmarkTestMethodData * benchmarkData
QTest::QBenchmarkIterationController * benchmarkIter
Q_QMLTEST_EXPORT bool qWaitForPolish(const QQuickItem *item, int timeout=defaultTimeout)
Q_QMLTEST_EXPORT bool qIsPolishScheduled(const QQuickWindow *window)
Q_QMLTEST_EXPORT bool qIsPolishScheduled(const QQuickItem *item)
Definition quicktest.cpp:80
static const int defaultTimeout
Definition quicktest.h:70
Q_QMLTEST_EXPORT bool qWaitForPolish(const QQuickWindow *window, int timeout=defaultTimeout)
Q_TESTLIB_EXPORT void qtest_qParseArgs(int argc, char *argv[], bool qml)
int quick_test_main(int argc, char **argv, const char *name, const char *sourceDir)
int quick_test_main_with_setup(int argc, char **argv, const char *name, const char *sourceDir, QObject *setup)
static bool loggingStarted
static QT_BEGIN_NAMESPACE const char * globalProgramName
static QString qtestFixUrl(const QUrl &location)
static QBenchmarkGlobalData globalBenchmarkData
static QList< QBenchmarkResult > qMedian(const QList< QList< QBenchmarkResult > > &container)