diff options
author | Maurice Kalinowski <maurice.kalinowski@qt.io> | 2019-02-07 13:39:42 +0100 |
---|---|---|
committer | Maurice Kalinowski <maurice.kalinowski@qt.io> | 2019-02-08 10:02:13 +0000 |
commit | 5e8d47972cc3cf6e89d87a443b5da863397f6784 (patch) | |
tree | 86c04c5da0a60db794a8325724c72c4554c69266 | |
parent | a984d3cca2defcc1f4b5e1e634f3a3e81eec14a2 (diff) |
Add function to update runtime environmentv5.13.0-alpha1
The UA backend needs to have additional directories in PATH. Instead of
requiring to update COIN, do it inside the unit tests.
Change-Id: I3faf51efcff4b23d5f84377d718f9824e2d76466
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
-rw-r--r-- | tests/auto/declarative/declarative.pro | 2 | ||||
-rw-r--r-- | tests/auto/declarative/tst_opcua.cpp | 2 | ||||
-rw-r--r-- | tests/auto/qopcuaclient/qopcuaclient.pro | 6 | ||||
-rw-r--r-- | tests/auto/qopcuaclient/tst_client.cpp | 3 | ||||
-rw-r--r-- | tests/common/backend_environment.h | 65 |
5 files changed, 78 insertions, 0 deletions
diff --git a/tests/auto/declarative/declarative.pro b/tests/auto/declarative/declarative.pro index a484ccf..35ac792 100644 --- a/tests/auto/declarative/declarative.pro +++ b/tests/auto/declarative/declarative.pro @@ -2,4 +2,6 @@ TEMPLATE = app TARGET = tst_opcua CONFIG += warn_on qmltestcase SOURCES += tst_opcua.cpp +HEADERS += $$PWD/../../common/backend_environment.h +INCLUDEPATH += $$PWD/../../common IMPORTPATH += $$PWD/../../../src/plugins/declarative diff --git a/tests/auto/declarative/tst_opcua.cpp b/tests/auto/declarative/tst_opcua.cpp index 2807a3f..23f3dd2 100644 --- a/tests/auto/declarative/tst_opcua.cpp +++ b/tests/auto/declarative/tst_opcua.cpp @@ -34,6 +34,7 @@ ** ****************************************************************************/ +#include "backend_environment.h" #include <QtQuickTest/quicktest.h> #include <QObject> #include <QProcess> @@ -58,6 +59,7 @@ public: public slots: void applicationAvailable() { + updateEnvironment(); const quint16 defaultPort = 43344; const QHostAddress defaultHost(QHostAddress::LocalHost); diff --git a/tests/auto/qopcuaclient/qopcuaclient.pro b/tests/auto/qopcuaclient/qopcuaclient.pro index 4307785..930b54d 100644 --- a/tests/auto/qopcuaclient/qopcuaclient.pro +++ b/tests/auto/qopcuaclient/qopcuaclient.pro @@ -6,3 +6,9 @@ CONFIG += testcase SOURCES += \ tst_client.cpp + +HEADERS += \ + $$PWD/../../common/backend_environment.h + +INCLUDEPATH += \ + $$PWD/../../common diff --git a/tests/auto/qopcuaclient/tst_client.cpp b/tests/auto/qopcuaclient/tst_client.cpp index 7d79e52..7f98c2a 100644 --- a/tests/auto/qopcuaclient/tst_client.cpp +++ b/tests/auto/qopcuaclient/tst_client.cpp @@ -34,6 +34,8 @@ ** ****************************************************************************/ +#include "backend_environment.h" + #include <QtOpcUa/QOpcUaAuthenticationInformation> #include <QtOpcUa/QOpcUaClient> #include <QtOpcUa/QOpcUaNode> @@ -3669,6 +3671,7 @@ void Tst_QOpcUaClient::cleanupTestCase() int main(int argc, char *argv[]) { + updateEnvironment(); QCoreApplication app(argc, argv); QTEST_SET_MAIN_SOURCE_PATH diff --git a/tests/common/backend_environment.h b/tests/common/backend_environment.h new file mode 100644 index 0000000..1cd692c --- /dev/null +++ b/tests/common/backend_environment.h @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtOpcUa module 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 <QtCore/QDebug> +#include <QtCore/QFileInfo> +#include <QtCore/QString> + +void updateEnvironment() +{ +#ifdef Q_CC_MSVC + const QByteArray uaEnvVar("CI_UACPP_" + #if _MSC_VER >= 1900 + "msvc2017" + #else + "msvc2015" + #endif + "_" + #if defined(Q_OS_WIN64) + "x64" + #else + "x86" + #endif + "_PREFIX"); + + const QString uaPath = qEnvironmentVariable(uaEnvVar.constData()); + if (uaPath.isEmpty() || !QFileInfo(uaPath).exists()) + qWarning() << uaPath << " pointing to a non existing location"; + + if (!qputenv("PATH", (uaPath + QLatin1String("\\bin;") + qEnvironmentVariable("PATH")).toLocal8Bit())) + qWarning() << "Could not update PATH"; +#endif +} |