summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2018-09-13 09:35:36 +0200
committerAndré Hartmann <aha_1980@gmx.de>2018-09-13 10:20:02 +0000
commit3608a03b3aec7b2abcb5df61c105ef7ed111b4d3 (patch)
treee0af25b2c11aaa940051696e8274c21d91503127
parent4d1f916efb4c814e76dce9f05e092b301aebd2bd (diff)
QCanBusDevice: Don't return a bool value from clear()
As pointed out in the API review, this could lead to confusion when reading statements like this: if (device->clear(QCanBusDevice::Input)) { // ... } Change-Id: Ic039d3ed32f9ef8e7c3fb8b5f0659b8c9afd8038 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
-rw-r--r--src/serialbus/qcanbusdevice.cpp6
-rw-r--r--src/serialbus/qcanbusdevice.h2
-rw-r--r--tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp18
3 files changed, 12 insertions, 14 deletions
diff --git a/src/serialbus/qcanbusdevice.cpp b/src/serialbus/qcanbusdevice.cpp
index 4484225..6dc8abd 100644
--- a/src/serialbus/qcanbusdevice.cpp
+++ b/src/serialbus/qcanbusdevice.cpp
@@ -450,12 +450,12 @@ qint64 QCanBusDevice::framesToWrite() const
\sa framesAvailable(), readFrame(), framesToWrite(), writeFrame(),
*/
-bool QCanBusDevice::clear(QCanBusDevice::Directions direction)
+void QCanBusDevice::clear(QCanBusDevice::Directions direction)
{
Q_D(QCanBusDevice);
if (Q_UNLIKELY(d->state != ConnectedState))
- return false;
+ return;
if (direction & Direction::Input) {
QMutexLocker(&d->incomingFramesGuard);
@@ -464,8 +464,6 @@ bool QCanBusDevice::clear(QCanBusDevice::Directions direction)
if (direction & Direction::Output)
d->outgoingFrames.clear();
-
- return true;
}
/*!
diff --git a/src/serialbus/qcanbusdevice.h b/src/serialbus/qcanbusdevice.h
index 5d99e6a..a47fac4 100644
--- a/src/serialbus/qcanbusdevice.h
+++ b/src/serialbus/qcanbusdevice.h
@@ -115,7 +115,7 @@ public:
AllDirections = Input | Output
};
Q_DECLARE_FLAGS(Directions, Direction)
- bool clear(Directions direction = Direction::AllDirections);
+ void clear(Directions direction = Direction::AllDirections);
virtual bool waitForFramesWritten(int msecs);
virtual bool waitForFramesReceived(int msecs);
diff --git a/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp b/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp
index 389e013..85d445f 100644
--- a/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp
+++ b/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp
@@ -291,16 +291,15 @@ void tst_QCanBusDevice::readAll()
void tst_QCanBusDevice::clearInputBuffer()
{
- device->disconnectDevice();
- QVERIFY(!device->clear(QCanBusDevice::Input));
-
- QVERIFY(device->connectDevice());
- QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState, 5000);
+ if (device->state() != QCanBusDevice::ConnectedState) {
+ QVERIFY(device->connectDevice());
+ QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState, 5000);
+ }
for (int i = 0; i < 10; ++i)
device->triggerNewFrame();
- QVERIFY(device->clear(QCanBusDevice::Input));
+ device->clear(QCanBusDevice::Input);
QVERIFY(!device->framesAvailable());
}
@@ -309,10 +308,11 @@ void tst_QCanBusDevice::clearOutputBuffer()
{
// this test requires buffered writing
device->setWriteBuffered(true);
- device->disconnectDevice();
- QVERIFY(!device->clear(QCanBusDevice::Output));
- QVERIFY(device->connectDevice());
+ if (device->state() != QCanBusDevice::ConnectedState) {
+ QVERIFY(device->connectDevice());
+ QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState, 5000);
+ }
// first test buffered writing, frames will be written after some delay
QSignalSpy spy(device.data(), &QCanBusDevice::framesWritten);