Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libqt5-qtremoteobjects for
openSUSE:Factory checked in at 2023-01-11 14:34:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtremoteobjects (Old)
and /work/SRC/openSUSE:Factory/.libqt5-qtremoteobjects.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-qtremoteobjects"
Wed Jan 11 14:34:39 2023 rev:24 rq:1057236 version:5.15.8+kde0
Changes:
--------
---
/work/SRC/openSUSE:Factory/libqt5-qtremoteobjects/libqt5-qtremoteobjects.changes
2022-11-04 17:36:08.821180986 +0100
+++
/work/SRC/openSUSE:Factory/.libqt5-qtremoteobjects.new.32243/libqt5-qtremoteobjects.changes
2023-01-11 14:36:12.533622455 +0100
@@ -1,0 +2,7 @@
+Mon Jan 9 09:23:07 UTC 2023 - Fabian Vogt <[email protected]>
+
+- Update to version 5.15.8+kde0, rebased upstream:
+ * Fix reconnect to replaced server node
+ * Fix header change replication
+
+-------------------------------------------------------------------
Old:
----
qtremoteobjects-everywhere-src-5.15.7+kde0.obscpio
New:
----
qtremoteobjects-everywhere-src-5.15.8+kde0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqt5-qtremoteobjects.spec ++++++
--- /var/tmp/diff_new_pack.tuhV9v/_old 2023-01-11 14:36:13.753629352 +0100
+++ /var/tmp/diff_new_pack.tuhV9v/_new 2023-01-11 14:36:13.757629373 +0100
@@ -19,11 +19,11 @@
%define qt5_snapshot 1
%define libname libQt5RemoteObjects5
%define base_name libqt5
-%define real_version 5.15.7
-%define so_version 5.15.7
+%define real_version 5.15.8
+%define so_version 5.15.8
%define tar_version qtremoteobjects-everywhere-src-%{version}
Name: libqt5-qtremoteobjects
-Version: 5.15.7+kde0
+Version: 5.15.8+kde0
Release: 0
Summary: Qt 5 RemoteObjects Library
License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
++++++ _service ++++++
--- /var/tmp/diff_new_pack.tuhV9v/_old 2023-01-11 14:36:13.801629623 +0100
+++ /var/tmp/diff_new_pack.tuhV9v/_new 2023-01-11 14:36:13.805629645 +0100
@@ -1,12 +1,12 @@
<services>
<service name="obs_scm" mode="disabled">
<param name="changesgenerate">enable</param>
- <param name="versionformat">5.15.7+kde@TAG_OFFSET@</param>
+ <param name="versionformat">5.15.8+kde@TAG_OFFSET@</param>
<param name="url">https://invent.kde.org/qt/qt/qtremoteobjects.git</param>
<param name="scm">git</param>
<param name="filename">qtremoteobjects-everywhere-src</param>
<param name="revision">kde/5.15</param>
- <param name="parent-tag">v5.15.7-lts-lgpl</param>
+ <param name="parent-tag">v5.15.8-lts-lgpl</param>
<param name="changesgenerate">enable</param>
</service>
<service name="set_version" mode="disabled"/>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.tuhV9v/_old 2023-01-11 14:36:13.825629758 +0100
+++ /var/tmp/diff_new_pack.tuhV9v/_new 2023-01-11 14:36:13.829629781 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://invent.kde.org/qt/qt/qtremoteobjects.git</param>
- <param
name="changesrevision">4d6d1e35fb8e0cb900b5e5e9266edea51dc4f735</param></service></servicedata>
+ <param
name="changesrevision">929c7ad0676f084b9ecc469cd47a307596923cb3</param></service></servicedata>
(No newline at EOF)
++++++ qtremoteobjects-everywhere-src-5.15.7+kde0.obscpio ->
qtremoteobjects-everywhere-src-5.15.8+kde0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-5.15.7+kde0/.qmake.conf
new/qtremoteobjects-everywhere-src-5.15.8+kde0/.qmake.conf
--- old/qtremoteobjects-everywhere-src-5.15.7+kde0/.qmake.conf 2022-09-12
17:30:04.000000000 +0200
+++ new/qtremoteobjects-everywhere-src-5.15.8+kde0/.qmake.conf 2022-11-10
21:42:45.000000000 +0100
@@ -4,6 +4,6 @@
DEFINES += QT_NO_JAVA_STYLE_ITERATORS
DEFINES += QT_NO_FOREACH
-MODULE_VERSION = 5.15.7
+MODULE_VERSION = 5.15.8
QTRO_SOURCE_TREE = $$PWD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-5.15.7+kde0/src/remoteobjects/qconnection_tcpip_backend.cpp
new/qtremoteobjects-everywhere-src-5.15.8+kde0/src/remoteobjects/qconnection_tcpip_backend.cpp
---
old/qtremoteobjects-everywhere-src-5.15.7+kde0/src/remoteobjects/qconnection_tcpip_backend.cpp
2022-09-12 17:30:04.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-5.15.8+kde0/src/remoteobjects/qconnection_tcpip_backend.cpp
2022-11-10 21:42:45.000000000 +0100
@@ -162,7 +162,7 @@
if (!m_server.isListening())
return nullptr;
- return new TcpServerIo(m_server.nextPendingConnection());
+ return new TcpServerIo(m_server.nextPendingConnection(), this);
}
bool TcpServerImpl::hasPendingConnections() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-5.15.7+kde0/src/remoteobjects/qremoteobjectabstractitemmodelreplica.cpp
new/qtremoteobjects-everywhere-src-5.15.8+kde0/src/remoteobjects/qremoteobjectabstractitemmodelreplica.cpp
---
old/qtremoteobjects-everywhere-src-5.15.7+kde0/src/remoteobjects/qremoteobjectabstractitemmodelreplica.cpp
2022-09-12 17:30:04.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-5.15.8+kde0/src/remoteobjects/qremoteobjectabstractitemmodelreplica.cpp
2022-11-10 21:42:45.000000000 +0100
@@ -268,6 +268,8 @@
auto parentItem = cacheData(parentIndex);
q->beginInsertRows(parentIndex, start, end);
parentItem->insertChildren(start, end);
+ for (int i = start; i <= end; ++i)
+ m_headerData[1].append(CacheEntry());
q->endInsertRows();
if (!parentItem->hasChildren && parentItem->columnCount > 0) {
parentItem->hasChildren = true;
@@ -294,6 +296,8 @@
return;
q->beginInsertColumns(parentIndex, start, end);
parentItem->columnCount += end - start + 1;
+ for (int i = start; i <= end; ++i)
+ m_headerData[0].append(CacheEntry());
q->endInsertColumns();
if (!parentItem->hasChildren && parentItem->children.size() > 0) {
parentItem->hasChildren = true;
@@ -315,6 +319,7 @@
q->beginRemoveRows(parentIndex, start, end);
if (parentItem)
parentItem->removeChildren(start, end);
+ m_headerData[1].erase(m_headerData[1].begin() + start,
m_headerData[1].begin() + end + 1);
q->endRemoveRows();
}
@@ -673,7 +678,7 @@
// TODO clean cache
const int index = orientation == Qt::Horizontal ? 0 : 1;
QVector<CacheEntry> &entries = m_headerData[index];
- for (int i = first; i < last; ++i )
+ for (int i = first; i <= last && i < entries.size(); ++i )
entries[i].data.clear();
emit q->headerDataChanged(orientation, first, last);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-5.15.7+kde0/src/remoteobjects/qremoteobjectsource.cpp
new/qtremoteobjects-everywhere-src-5.15.8+kde0/src/remoteobjects/qremoteobjectsource.cpp
---
old/qtremoteobjects-everywhere-src-5.15.7+kde0/src/remoteobjects/qremoteobjectsource.cpp
2022-09-12 17:30:04.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-5.15.8+kde0/src/remoteobjects/qremoteobjectsource.cpp
2022-11-10 21:42:45.000000000 +0100
@@ -75,8 +75,11 @@
return QByteArray{};
}
-inline bool qtro_is_cloned_method(const QMetaObject *mobj, int
local_method_index)
+inline bool qtro_is_cloned_method(const QMetaObject *mobj, int index)
{
+ int local_method_index = index - mobj->methodOffset();
+ if (local_method_index < 0 && mobj->superClass())
+ return qtro_is_cloned_method(mobj->superClass(), index);
const auto priv = reinterpret_cast<const
QtPrivate::QMetaObjectPrivate*>(mobj->d.data);
Q_ASSERT(local_method_index < priv->methodCount);
int handle = priv->methodData + 5 * local_method_index;
@@ -191,9 +194,8 @@
const auto targetMeta = isAdapter ? m_adapter->metaObject() : meta;
// don't connect cloned signals, or we end up with multiple emissions
- if (qtro_is_cloned_method(targetMeta, sourceIndex -
targetMeta->methodOffset()))
+ if (qtro_is_cloned_method(targetMeta, sourceIndex))
continue;
-
// This basically connects the parent Signals (note, all dynamic
properties have onChange
//notifications, thus signals) to us. Normally each Signal is mapped
to a unique index,
//but since we are forwarding them all, we keep the offset constant.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/auto.pro
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/auto.pro
--- old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/auto.pro
2022-09-12 17:30:04.000000000 +0200
+++ new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/auto.pro
2022-11-10 21:42:45.000000000 +0100
@@ -24,4 +24,4 @@
contains(QT_CONFIG, ssl): SUBDIRS += external_IODevice
qtHaveModule(qml): SUBDIRS += qml
-qtConfig(process): SUBDIRS += integration_multiprocess proxy_multiprocess
integration_external restart
+qtConfig(process): SUBDIRS += integration_multiprocess proxy_multiprocess
integration_external restart reconnect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/modelview/tst_modelview.cpp
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/modelview/tst_modelview.cpp
---
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/modelview/tst_modelview.cpp
2022-09-12 17:30:04.000000000 +0200
+++
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/modelview/tst_modelview.cpp
2022-11-10 21:42:45.000000000 +0100
@@ -499,6 +499,7 @@
void testInitialData();
void testInitialDataTree();
void testHeaderData();
+ void testHeaderDataChange();
void testFlags();
void testDataChanged();
void testDataChangedTree();
@@ -650,6 +651,34 @@
QCOMPARE(model->headerData(i, Qt::Horizontal, Qt::DisplayRole),
m_sourceModel.headerData(i, Qt::Horizontal, Qt::DisplayRole));
}
+void TestModelView::testHeaderDataChange()
+{
+ _SETUP_TEST_
+ QString newHeader = QStringLiteral("New header name");
+ QScopedPointer<QAbstractItemModelReplica>
model(client.acquireModel("test"));
+
+ FetchData f(model.data());
+ QVERIFY(f.fetchAndWait(MODELTEST_WAIT_TIME));
+ QVERIFY(model->headerData(0, Qt::Horizontal, Qt::DisplayRole).toString()
!= newHeader);
+
+ QSignalSpy spyHeader(model.data(),
&QAbstractItemModelReplica::headerDataChanged);
+ m_sourceModel.setHeaderData(0, Qt::Horizontal, newHeader, Qt::DisplayRole);
+ spyHeader.wait();
+ QTRY_COMPARE(model->headerData(0, Qt::Horizontal,
Qt::DisplayRole).toString(), newHeader);
+
+ spyHeader.clear();
+ m_sourceModel.setHeaderData(1, Qt::Horizontal, newHeader, Qt::DisplayRole);
+ spyHeader.wait();
+ QTRY_COMPARE(model->headerData(1, Qt::Horizontal,
Qt::DisplayRole).toString(), newHeader);
+
+ QString anotherHeader = QStringLiteral("Modified header name");
+ m_sourceModel.setHeaderData(0, Qt::Horizontal, anotherHeader,
Qt::DisplayRole);
+ spyHeader.wait();
+
+ QTRY_COMPARE(model->headerData(0, Qt::Horizontal,
Qt::DisplayRole).toString(), anotherHeader);
+ QCOMPARE(model->headerData(1, Qt::Horizontal, Qt::DisplayRole).toString(),
newHeader);
+}
+
void TestModelView::testDataChangedTree()
{
_SETUP_TEST_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/client/client.pro
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/client/client.pro
---
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/client/client.pro
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/client/client.pro
2022-11-10 21:42:45.000000000 +0100
@@ -0,0 +1,11 @@
+TEMPLATE = app
+TARGET = qtro_reconnect_client
+
+DESTDIR = ./
+
+QT += testlib remoteobjects
+QT -= gui
+
+CONFIG -= app_bundle
+
+SOURCES += main.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/client/main.cpp
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/client/main.cpp
---
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/client/main.cpp
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/client/main.cpp
2022-11-10 21:42:45.000000000 +0100
@@ -0,0 +1,63 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtRemoteObjects module 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$
+**
+****************************************************************************/
+
+#include <QCoreApplication>
+#include <QtTest/QtTest>
+#include <QtRemoteObjects/qremoteobjectnode.h>
+
+class tst_Client_Process : public QObject
+{
+ Q_OBJECT
+
+private Q_SLOTS:
+ void testRun()
+ {
+ const QString url = qEnvironmentVariable("RO_URL");
+ QRemoteObjectNode node;
+ node.connectToNode(QUrl(url));
+ QRemoteObjectDynamicReplica *ro = node.acquireDynamic("SourceObj");
+
+ QSignalSpy initSpy(ro, &QRemoteObjectDynamicReplica::initialized);
+ QVERIFY(initSpy.wait());
+ QSignalSpy pongSpy(ro, SIGNAL(pong()));
+ QMetaObject::invokeMethod(ro, "ping");
+ QVERIFY(pongSpy.wait());
+ QMetaObject::invokeMethod(ro, "ping");
+
+ QVERIFY(initSpy.wait());
+ QMetaObject::invokeMethod(ro, "ping");
+ QVERIFY(pongSpy.wait());
+ QMetaObject::invokeMethod(ro, "ping");
+ QTest::qWait(100);
+ delete ro;
+ }
+};
+
+QTEST_MAIN(tst_Client_Process)
+
+#include "main.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/reconnect.pro
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/reconnect.pro
---
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/reconnect.pro
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/reconnect.pro
2022-11-10 21:42:45.000000000 +0100
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+SUBDIRS = client server tst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/server/main.cpp
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/server/main.cpp
---
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/server/main.cpp
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/server/main.cpp
2022-11-10 21:42:45.000000000 +0100
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtRemoteObjects module 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$
+**
+****************************************************************************/
+
+#include <QCoreApplication>
+#include <QtTest/QtTest>
+#include <QtRemoteObjects/qremoteobjectnode.h>
+#include <QtRemoteObjects/qremoteobjectsource.h>
+
+
+class SourceObj : public QObject
+{
+ Q_OBJECT
+
+public Q_SLOTS:
+ void ping() { ++m_pingCount; };
+
+Q_SIGNALS:
+ void pong();
+
+public:
+ int m_pingCount = 0;
+};
+
+class tst_Server_Process : public QObject
+{
+ Q_OBJECT
+
+private Q_SLOTS:
+ void testRun()
+ {
+ const QString url = qEnvironmentVariable("RO_URL");
+ QRemoteObjectHost *srcNode = new QRemoteObjectHost(QUrl(url));
+ SourceObj so;
+ so.setObjectName(QStringLiteral("SourceObj"));
+ srcNode->enableRemoting(&so);
+
+ QTRY_VERIFY(so.m_pingCount == 1);
+ emit so.pong();
+ QTRY_VERIFY(so.m_pingCount == 2);
+ delete srcNode;
+
+ srcNode = new QRemoteObjectHost(QUrl(url));
+ srcNode->enableRemoting(&so);
+
+ QTRY_VERIFY(so.m_pingCount == 3);
+ emit so.pong();
+ QTRY_VERIFY(so.m_pingCount == 4);
+ delete srcNode;
+ }
+};
+
+QTEST_MAIN(tst_Server_Process)
+
+#include "main.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/server/server.pro
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/server/server.pro
---
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/server/server.pro
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/server/server.pro
2022-11-10 21:42:45.000000000 +0100
@@ -0,0 +1,11 @@
+TEMPLATE = app
+TARGET = qtro_reconnect_server
+
+DESTDIR = ./
+
+QT += testlib remoteobjects
+QT -= gui
+
+CONFIG -= app_bundle
+
+SOURCES += main.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/tst/tst.pro
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/tst/tst.pro
---
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/tst/tst.pro
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/tst/tst.pro
2022-11-10 21:42:45.000000000 +0100
@@ -0,0 +1,12 @@
+TEMAPLATE=app
+TARGET = tst_reconnect
+
+DESTDIR = ./
+
+QT += testlib remoteobjects
+QT -= gui
+
+CONFIG += testcase
+CONFIG -= app_bundle
+
+SOURCES += tst_reconnect.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/tst/tst_reconnect.cpp
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/tst/tst_reconnect.cpp
---
old/qtremoteobjects-everywhere-src-5.15.7+kde0/tests/auto/reconnect/tst/tst_reconnect.cpp
1970-01-01 01:00:00.000000000 +0100
+++
new/qtremoteobjects-everywhere-src-5.15.8+kde0/tests/auto/reconnect/tst/tst_reconnect.cpp
2022-11-10 21:42:45.000000000 +0100
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtRemoteObjects module 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$
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+#include <QStandardPaths>
+#include <QProcess>
+
+
+static QString findExecutable(const QString &executableName, const QString
&searchPath)
+{
+ const QString path = QStandardPaths::findExecutable(executableName, {
searchPath });
+ if (!path.isEmpty())
+ return path;
+
+ qWarning() << "Could not find executable:" << executableName << "in" <<
searchPath;
+ return QString();
+}
+
+
+class tst_Reconnect: public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void testRun_data()
+ {
+ QTest::addColumn<QString>("url");
+ QTest::addRow("local") << QStringLiteral("local:replica");
+ QTest::addRow("tcp") << QStringLiteral("tcp://127.0.0.1:65217");
+ }
+
+ void testRun()
+ {
+ QFETCH(QString, url);
+
+ QProcess serverProc;
+ serverProc.setProcessChannelMode(QProcess::ForwardedChannels);
+ QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
+ env.insert("RO_URL", url);
+ serverProc.setProcessEnvironment(env);
+ const QString appDir = QCoreApplication::applicationDirPath();
+ serverProc.start(findExecutable("qtro_reconnect_server", appDir +
QLatin1String("/../server/")), QStringList());
+ QVERIFY(serverProc.waitForStarted());
+
+ QProcess clientProc;
+ clientProc.setProcessChannelMode(QProcess::ForwardedChannels);
+ clientProc.setProcessEnvironment(env);
+ clientProc.start(findExecutable("qtro_reconnect_client", appDir +
QLatin1String("/../client/")), QStringList());
+ qDebug() << "Started server and client process on:" << url;
+ QVERIFY(clientProc.waitForStarted());
+
+ QVERIFY(clientProc.waitForFinished());
+ QVERIFY(serverProc.waitForFinished());
+
+ QCOMPARE(serverProc.exitCode(), 0);
+ QCOMPARE(clientProc.exitCode(), 0);
+ }
+};
+
+QTEST_MAIN(tst_Reconnect)
+
+#include "tst_reconnect.moc"
++++++ qtremoteobjects-everywhere-src.obsinfo ++++++
--- /var/tmp/diff_new_pack.tuhV9v/_old 2023-01-11 14:36:14.129631476 +0100
+++ /var/tmp/diff_new_pack.tuhV9v/_new 2023-01-11 14:36:14.129631476 +0100
@@ -1,5 +1,5 @@
name: qtremoteobjects-everywhere-src
-version: 5.15.7+kde0
-mtime: 1662996604
-commit: 5f2a598a9134167a0da2efcbf1249fc167ae3750
+version: 5.15.8+kde0
+mtime: 1668112965
+commit: 929c7ad0676f084b9ecc469cd47a307596923cb3