summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);