summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaurice Kalinowski <maurice.kalinowski@qt.io>2019-02-07 13:39:42 +0100
committerMaurice Kalinowski <maurice.kalinowski@qt.io>2019-02-08 10:02:13 +0000
commit5e8d47972cc3cf6e89d87a443b5da863397f6784 (patch)
tree86c04c5da0a60db794a8325724c72c4554c69266
parenta984d3cca2defcc1f4b5e1e634f3a3e81eec14a2 (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.pro2
-rw-r--r--tests/auto/declarative/tst_opcua.cpp2
-rw-r--r--tests/auto/qopcuaclient/qopcuaclient.pro6
-rw-r--r--tests/auto/qopcuaclient/tst_client.cpp3
-rw-r--r--tests/common/backend_environment.h65
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
+}