Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-serialport for openSUSE:Factory checked in at 2023-12-04 23:00:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-serialport (Old) and /work/SRC/openSUSE:Factory/.qt6-serialport.new.25432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-serialport" Mon Dec 4 23:00:16 2023 rev:18 rq:1130428 version:6.6.1 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-serialport/qt6-serialport.changes 2023-10-13 23:15:17.588369059 +0200 +++ /work/SRC/openSUSE:Factory/.qt6-serialport.new.25432/qt6-serialport.changes 2023-12-04 23:00:34.769611199 +0100 @@ -1,0 +2,6 @@ +Mon Nov 27 14:00:18 UTC 2023 - Christophe Marin <christo...@krop.fr> + +- Update to 6.6.1: + * https://www.qt.io/blog/qt-6.6.1-released + +------------------------------------------------------------------- Old: ---- qtserialport-everywhere-src-6.6.0.tar.xz New: ---- qtserialport-everywhere-src-6.6.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-serialport.spec ++++++ --- /var/tmp/diff_new_pack.lJvFZG/_old 2023-12-04 23:00:35.425634384 +0100 +++ /var/tmp/diff_new_pack.lJvFZG/_new 2023-12-04 23:00:35.429634526 +0100 @@ -16,7 +16,7 @@ # -%define real_version 6.6.0 +%define real_version 6.6.1 %define short_version 6.6 %define tar_name qtserialport-everywhere-src %define tar_suffix %{nil} @@ -27,7 +27,7 @@ %endif # Name: qt6-serialport%{?pkg_suffix} -Version: 6.6.0 +Version: 6.6.1 Release: 0 Summary: Qt 6 SerialPort library License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later) ++++++ qtserialport-everywhere-src-6.6.0.tar.xz -> qtserialport-everywhere-src-6.6.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/.cmake.conf new/qtserialport-everywhere-src-6.6.1/.cmake.conf --- old/qtserialport-everywhere-src-6.6.0/.cmake.conf 2023-10-02 05:05:41.000000000 +0200 +++ new/qtserialport-everywhere-src-6.6.1/.cmake.conf 2023-11-20 06:29:01.000000000 +0100 @@ -1,3 +1,3 @@ -set(QT_REPO_MODULE_VERSION "6.6.0") +set(QT_REPO_MODULE_VERSION "6.6.1") set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/.tag new/qtserialport-everywhere-src-6.6.1/.tag --- old/qtserialport-everywhere-src-6.6.0/.tag 2023-10-02 05:05:41.000000000 +0200 +++ new/qtserialport-everywhere-src-6.6.1/.tag 2023-11-20 06:29:01.000000000 +0100 @@ -1 +1 @@ -5c352984a491f7d1316d45d079ddf9ee1755746d +be2bad10749bfc31b29d711f59e020c7e86fdc94 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/dependencies.yaml new/qtserialport-everywhere-src-6.6.1/dependencies.yaml --- old/qtserialport-everywhere-src-6.6.0/dependencies.yaml 2023-10-02 05:05:41.000000000 +0200 +++ new/qtserialport-everywhere-src-6.6.1/dependencies.yaml 2023-11-20 06:29:01.000000000 +0100 @@ -1,4 +1,4 @@ dependencies: ../qtbase: - ref: 33f5e985e480283bb0ca9dea5f82643e825ba87c + ref: e2cbce919ccefcae2b18f90257d67bc6e24c3c94 required: true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/src/serialport/qserialport.cpp new/qtserialport-everywhere-src-6.6.1/src/serialport/qserialport.cpp --- old/qtserialport-everywhere-src-6.6.0/src/serialport/qserialport.cpp 2023-10-02 05:05:41.000000000 +0200 +++ new/qtserialport-everywhere-src-6.6.1/src/serialport/qserialport.cpp 2023-11-20 06:29:01.000000000 +0100 @@ -572,7 +572,7 @@ { Q_D(QSerialPort); d->dataBits.removeBindingUnlessInWrapper(); - const auto currentDataBits = d->dataBits.value(); + const auto currentDataBits = d->dataBits.valueBypassingBindings(); if (!isOpen() || d->setDataBits(dataBits)) { d->dataBits.setValueBypassingBindings(dataBits); if (currentDataBits != dataBits) { @@ -623,7 +623,7 @@ { Q_D(QSerialPort); d->parity.removeBindingUnlessInWrapper(); - const auto currentParity = d->parity.value(); + const auto currentParity = d->parity.valueBypassingBindings(); if (!isOpen() || d->setParity(parity)) { d->parity.setValueBypassingBindings(parity); if (currentParity != parity) { @@ -673,7 +673,7 @@ { Q_D(QSerialPort); d->stopBits.removeBindingUnlessInWrapper(); - const auto currentStopBits = d->stopBits.value(); + const auto currentStopBits = d->stopBits.valueBypassingBindings(); if (!isOpen() || d->setStopBits(stopBits)) { d->stopBits.setValueBypassingBindings(stopBits); if (currentStopBits != stopBits) { @@ -723,7 +723,7 @@ { Q_D(QSerialPort); d->flowControl.removeBindingUnlessInWrapper(); - const auto currentFlowControl = d->flowControl.value(); + const auto currentFlowControl = d->flowControl.valueBypassingBindings(); if (!isOpen() || d->setFlowControl(flowControl)) { d->flowControl.setValueBypassingBindings(flowControl); if (currentFlowControl != flowControl) { @@ -1143,7 +1143,7 @@ { Q_D(QSerialPort); d->isBreakEnabled.removeBindingUnlessInWrapper(); - const auto currentSet = d->isBreakEnabled.value(); + const auto currentSet = d->isBreakEnabled.valueBypassingBindings(); if (isOpen()) { if (d->setBreakEnabled(set)) { d->isBreakEnabled.setValueBypassingBindings(set); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/src/serialport/qserialport_unix.cpp new/qtserialport-everywhere-src-6.6.1/src/serialport/qserialport_unix.cpp --- old/qtserialport-everywhere-src-6.6.0/src/serialport/qserialport_unix.cpp 2023-10-02 05:05:41.000000000 +0200 +++ new/qtserialport-everywhere-src-6.6.1/src/serialport/qserialport_unix.cpp 2023-11-20 06:29:01.000000000 +0100 @@ -849,6 +849,9 @@ if (mode & QIODevice::ReadOnly) setReadNotificationEnabled(true); + // flush IO buffers + clear(QSerialPort::AllDirections); + return true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/tests/auto/qserialport/CMakeLists.txt new/qtserialport-everywhere-src-6.6.1/tests/auto/qserialport/CMakeLists.txt --- old/qtserialport-everywhere-src-6.6.0/tests/auto/qserialport/CMakeLists.txt 2023-10-02 05:05:41.000000000 +0200 +++ new/qtserialport-everywhere-src-6.6.1/tests/auto/qserialport/CMakeLists.txt 2023-11-20 06:29:01.000000000 +0100 @@ -11,4 +11,5 @@ LIBRARIES Qt::SerialPort Qt::Test + Qt::TestPrivate ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialport-everywhere-src-6.6.0/tests/auto/qserialport/tst_qserialport.cpp new/qtserialport-everywhere-src-6.6.1/tests/auto/qserialport/tst_qserialport.cpp --- old/qtserialport-everywhere-src-6.6.0/tests/auto/qserialport/tst_qserialport.cpp 2023-10-02 05:05:41.000000000 +0200 +++ new/qtserialport-everywhere-src-6.6.1/tests/auto/qserialport/tst_qserialport.cpp 2023-11-20 06:29:01.000000000 +0100 @@ -2,6 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #include <QtTest/QtTest> +#include <QtTest/private/qpropertytesthelper_p.h> #include <QtSerialPort/QSerialPort> #include <QtSerialPort/QSerialPortInfo> @@ -1267,149 +1268,81 @@ // -- data bits - QProperty<QSerialPort::DataBits> dbProp(QSerialPort::DataBits::Data6); - QCOMPARE(dbProp.value(), QSerialPort::DataBits::Data6); - - sp.bindableDataBits().setBinding(Qt::makePropertyBinding(dbProp)); - QCOMPARE(sp.dataBits(), QSerialPort::DataBits::Data6); - - const QSignalSpy dataBitsChangedSpy(&sp, &QSerialPort::dataBitsChanged); - - dbProp = QSerialPort::DataBits::Data5; - QCOMPARE(sp.dataBits(), QSerialPort::DataBits::Data5); - QCOMPARE(dataBitsChangedSpy.size(), 1); - QCOMPARE(dataBitsChangedSpy.at(0).value(0).toInt(), QSerialPort::DataBits::Data5); - - dbProp.setBinding(sp.bindableDataBits().makeBinding()); - sp.setDataBits(QSerialPort::DataBits::Data8); - QCOMPARE(dbProp.value(), QSerialPort::DataBits::Data8); - - dbProp.setBinding([&] { return sp.dataBits(); }); - sp.setDataBits(QSerialPort::DataBits::Data7); - QCOMPARE(dbProp.value(), QSerialPort::DataBits::Data7); + QTestPrivate::testReadWritePropertyBasics(sp, QSerialPort::DataBits::Data6, + QSerialPort::DataBits::Data5, "dataBits"); + if (QTest::currentTestFailed()) { + qDebug("Failed property test for QSetialPort::dataBits"); + return; + } // -- parity - QProperty<QSerialPort::Parity> parityProp(QSerialPort::Parity::SpaceParity); - QCOMPARE(parityProp.value(), QSerialPort::Parity::SpaceParity); - - sp.bindableParity().setBinding(Qt::makePropertyBinding(parityProp)); - QCOMPARE(sp.parity(), QSerialPort::Parity::SpaceParity); - - const QSignalSpy parityChangedSpy(&sp, &QSerialPort::parityChanged); - - parityProp = QSerialPort::Parity::EvenParity; - QCOMPARE(sp.parity(), QSerialPort::Parity::EvenParity); - QCOMPARE(parityChangedSpy.size(), 1); - QCOMPARE(parityChangedSpy.at(0).value(0).toInt(), QSerialPort::Parity::EvenParity); - - parityProp.setBinding(sp.bindableParity().makeBinding()); - sp.setParity(QSerialPort::Parity::NoParity); - QCOMPARE(parityProp.value(), QSerialPort::Parity::NoParity); - - parityProp.setBinding([&] { return sp.parity(); }); - sp.setParity(QSerialPort::Parity::OddParity); - QCOMPARE(parityProp.value(), QSerialPort::Parity::OddParity); + QTestPrivate::testReadWritePropertyBasics(sp, QSerialPort::Parity::SpaceParity, + QSerialPort::Parity::EvenParity, "parity"); + if (QTest::currentTestFailed()) { + qDebug("Failed property test for QSetialPort::parity"); + return; + } // -- stop bits - QProperty<QSerialPort::StopBits> sbProp(QSerialPort::StopBits::OneAndHalfStop); - QCOMPARE(sbProp.value(), QSerialPort::StopBits::OneAndHalfStop); - - sp.bindableStopBits().setBinding(Qt::makePropertyBinding(sbProp)); - QCOMPARE(sp.stopBits(), QSerialPort::StopBits::OneAndHalfStop); - - const QSignalSpy stopBitsChangedSpy(&sp, &QSerialPort::stopBitsChanged); - - sbProp = QSerialPort::StopBits::OneStop; - QCOMPARE(sp.stopBits(), QSerialPort::StopBits::OneStop); - QCOMPARE(stopBitsChangedSpy.size(), 1); - QCOMPARE(stopBitsChangedSpy.at(0).value(0).toInt(), QSerialPort::StopBits::OneStop); - - sbProp.setBinding(sp.bindableStopBits().makeBinding()); - sp.setStopBits(QSerialPort::StopBits::TwoStop); - QCOMPARE(sbProp.value(), QSerialPort::StopBits::TwoStop); - - sbProp.setBinding([&] { return sp.stopBits(); }); - sp.setStopBits(QSerialPort::StopBits::OneAndHalfStop); - QCOMPARE(sbProp.value(), QSerialPort::StopBits::OneAndHalfStop); + QTestPrivate::testReadWritePropertyBasics(sp, QSerialPort::StopBits::OneAndHalfStop, + QSerialPort::StopBits::TwoStop, "stopBits"); + if (QTest::currentTestFailed()) { + qDebug("Failed property test for QSetialPort::stopBits"); + return; + } // -- flow control - QProperty<QSerialPort::FlowControl> fcProp(QSerialPort::FlowControl::HardwareControl); - QCOMPARE(fcProp.value(), QSerialPort::FlowControl::HardwareControl); - - sp.bindableFlowControl().setBinding(Qt::makePropertyBinding(fcProp)); - QCOMPARE(sp.flowControl(), QSerialPort::FlowControl::HardwareControl); - - const QSignalSpy flowControlChangedSpy(&sp, &QSerialPort::flowControlChanged); - - fcProp = QSerialPort::FlowControl::NoFlowControl; - QCOMPARE(sp.flowControl(), QSerialPort::FlowControl::NoFlowControl); - QCOMPARE(flowControlChangedSpy.size(), 1); - QCOMPARE(flowControlChangedSpy.at(0).value(0).toInt(), QSerialPort::FlowControl::NoFlowControl); - - fcProp.setBinding(sp.bindableFlowControl().makeBinding()); - sp.setFlowControl(QSerialPort::FlowControl::SoftwareControl); - QCOMPARE(fcProp.value(), QSerialPort::FlowControl::SoftwareControl); - - fcProp.setBinding([&] { return sp.flowControl(); }); - sp.setFlowControl(QSerialPort::FlowControl::NoFlowControl); - QCOMPARE(fcProp.value(), QSerialPort::FlowControl::NoFlowControl); + QTestPrivate::testReadWritePropertyBasics(sp, QSerialPort::FlowControl::HardwareControl, + QSerialPort::FlowControl::SoftwareControl, + "flowControl"); + if (QTest::currentTestFailed()) { + qDebug("Failed property test for QSetialPort::flowControl"); + return; + } // -- error - QProperty<QSerialPort::SerialPortError> errorProp(QSerialPort::SerialPortError::PermissionError); - QCOMPARE(errorProp.value(), QSerialPort::SerialPortError::PermissionError); - - sp.bindableError().setBinding(Qt::makePropertyBinding(errorProp)); - QCOMPARE(sp.error(), QSerialPort::SerialPortError::NoError); - - const QSignalSpy errorChangedSpy(&sp, &QSerialPort::errorOccurred); + QTestPrivate::testReadOnlyPropertyBasics( + sp, QSerialPort::SerialPortError::NoError, + QSerialPort::SerialPortError::UnsupportedOperationError, "error", + [&sp]() { sp.open(QIODevice::Truncate); }); + if (QTest::currentTestFailed()) { + qDebug("Failed property test for QSetialPort::error"); + return; + } - // this shall not change the error, we do not have a public setter - errorProp = QSerialPort::SerialPortError::DeviceNotFoundError; - QCOMPARE(sp.error(), QSerialPort::SerialPortError::NoError); - QCOMPARE(errorChangedSpy.size(), 0); - - errorProp.setBinding(sp.bindableError().makeBinding()); - sp.clearError(); - QCOMPARE(errorProp.value(), QSerialPort::SerialPortError::NoError); - QCOMPARE(errorChangedSpy.size(), 1); - QCOMPARE(errorChangedSpy.at(0).value(0).toInt(), QSerialPort::SerialPortError::NoError); + // -- break enabled sp.setPortName(m_receiverPortName); const bool portOpened = sp.open(QIODevice::ReadOnly); - // -- break enabled - if (portOpened) { - QProperty<bool> beProp(false); - QCOMPARE(beProp.value(), false); - - sp.bindableIsBreakEnabled().setBinding(Qt::makePropertyBinding(beProp)); - QCOMPARE(sp.isBreakEnabled(), false); - - const QSignalSpy breakEnabledChangedSpy(&sp, &QSerialPort::breakEnabledChanged); - - beProp = true; - QCOMPARE(sp.isBreakEnabled(), true); - QCOMPARE(breakEnabledChangedSpy.size(), 1); - QCOMPARE(breakEnabledChangedSpy.at(0).value(0).toBool(), true); - - beProp.setBinding(sp.bindableIsBreakEnabled().makeBinding()); - sp.setBreakEnabled(false); - QCOMPARE(beProp.value(), false); - - beProp.setBinding([&] { return sp.isBreakEnabled(); }); - sp.setBreakEnabled(true); - QCOMPARE(beProp.value(), true); + // To test the binding loop we need to create another instance of + // QSerialPort, open it, and set breakEnabled == true as a default + // value, so use a custom lambda for that. + QTestPrivate::testReadWritePropertyBasics<QSerialPort, bool>( + sp, true, false, "breakEnabled", + [name = this->m_senderPortName]() { + auto ptr = std::make_unique<QSerialPort>(); + ptr->setPortName(name); + if (ptr->open(QIODevice::ReadOnly)) { + ptr->setBreakEnabled(true); + return ptr; + } + // skip binding loop test if we failed to open the port + return std::unique_ptr<QSerialPort>{}; + }); + if (QTest::currentTestFailed()) { + qDebug("Failed property test for QSetialPort::breakEnabled"); + return; + } } else { // setting isBreakEnabled() will return false and raise an error - const auto currErrorCount = errorChangedSpy.size(); sp.setBreakEnabled(true); - QCOMPARE(errorProp.value(), QSerialPort::SerialPortError::NotOpenError); - QCOMPARE(errorChangedSpy.size(), currErrorCount + 1); + QCOMPARE(sp.error(), QSerialPort::SerialPortError::NotOpenError); } }