From 68f68563c5d33ec32781ae89b222c063fb7089c4 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Fri, 6 Nov 2015 14:02:29 +0100 Subject: Add tst_styles Re-runs tst_controls with all styles Change-Id: I1feda621bfd5f48f42742b1f297abd11c6b437a9 Reviewed-by: Mitch Curtis --- .gitignore | 1 + tests/auto/auto.pro | 1 + tests/auto/styles/styles.pro | 8 +++++ tests/auto/styles/tst_styles.cpp | 70 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 80 insertions(+) create mode 100644 tests/auto/styles/styles.pro create mode 100644 tests/auto/styles/tst_styles.cpp diff --git a/.gitignore b/.gitignore index 15114f6f..c51340bf 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ /tests/auto/pressandhold/tst_pressandhold /tests/auto/sanity/tst_sanity /tests/auto/snippets/tst_snippets +/tests/auto/styles/tst_styles /tests/auto/theme/tst_theme /tests/auto/universal/tst_universal /tests/benchmarks/creationtime/tst_creationtime diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index 65a43402..98ea6f6c 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -8,5 +8,6 @@ SUBDIRS += \ pressandhold \ sanity \ snippets \ + styles \ theme \ universal diff --git a/tests/auto/styles/styles.pro b/tests/auto/styles/styles.pro new file mode 100644 index 00000000..3460900c --- /dev/null +++ b/tests/auto/styles/styles.pro @@ -0,0 +1,8 @@ +TEMPLATE = app +TARGET = tst_styles +CONFIG += qmltestcase + +DEFINES += TST_CONTROLS_DATA=\\\"$$QQC2_SOURCE_TREE/tests/auto/controls/data\\\" + +SOURCES += \ + $$PWD/tst_styles.cpp diff --git a/tests/auto/styles/tst_styles.cpp b/tests/auto/styles/tst_styles.cpp new file mode 100644 index 00000000..b45366b6 --- /dev/null +++ b/tests/auto/styles/tst_styles.cpp @@ -0,0 +1,70 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** 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 http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/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 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later 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 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include + +static const char* styles[] = { "material", "universal" }; + +int main(int argc, char *argv[]) +{ + QByteArray style = qgetenv("QT_LABS_CONTROLS_STYLE"); + if (!style.isEmpty()) + return quick_test_main(argc, argv, "tst_styles(" + style + ")", TST_CONTROLS_DATA); + + QCoreApplication app(argc, argv); + + int failures = 0; + int count = sizeof(styles) / sizeof(styles[0]); + + for (int i = 0; i < count; ++i) { + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + env.insert("QT_LABS_CONTROLS_STYLE", styles[i]); + + QProcess process; + process.setProcessEnvironment(env); + process.setWorkingDirectory(QDir::currentPath()); + process.setProcessChannelMode(QProcess::ForwardedChannels); + + process.start(argv[0], app.arguments().mid(1)); + process.waitForFinished(); + + failures += process.exitCode(); + } + + return failures; +} -- cgit v1.2.3