summaryrefslogtreecommitdiffstats
path: root/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp')
-rw-r--r--tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp152
1 files changed, 68 insertions, 84 deletions
diff --git a/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp b/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp
index 3fce8d5..cf18c4a 100644
--- a/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp
+++ b/tests/auto/qcanbusdevice/tst_qcanbusdevice.cpp
@@ -34,12 +34,13 @@
**
****************************************************************************/
-#include <QtSerialBus/QCanBusDevice>
-#include <QtSerialBus/QCanBusFrame>
+#include <QtSerialBus/qcanbusdevice.h>
+#include <QtSerialBus/qcanbusframe.h>
-#include <QtTest/QtTest>
-#include <QSignalSpy>
-#include <QScopedPointer>
+#include <QtCore/qscopedpointer.h>
+#include <QtCore/qtimer.h>
+#include <QtTest/qsignalspy.h>
+#include <QtTest/qtest.h>
#include <memory>
@@ -47,8 +48,7 @@ class tst_Backend : public QCanBusDevice
{
Q_OBJECT
public:
- tst_Backend() :
- firstOpen(true), writeBufferUsed(true)
+ tst_Backend()
{
referenceFrame.setFrameId(5);
referenceFrame.setPayload(QByteArray("FOOBAR"));
@@ -61,8 +61,8 @@ public:
if (state() != QCanBusDevice::ConnectedState)
return false;
- // line below triggers framesReceived() signal
- enqueueReceivedFrames(QVector<QCanBusFrame>() << referenceFrame);
+ // the line below triggers the framesReceived() signal
+ enqueueReceivedFrames({referenceFrame});
return true;
}
@@ -109,7 +109,7 @@ public:
bool isWriteBuffered() const { return writeBufferUsed; }
void setWriteBuffered(bool isBuffered)
{
- // permits switching between buffered and unbuffered write mode
+ // allows switching between buffered and unbuffered write mode
writeBufferUsed = isBuffered;
}
@@ -128,8 +128,8 @@ public slots:
private:
QCanBusFrame referenceFrame;
- bool firstOpen;
- bool writeBufferUsed;
+ bool firstOpen = true;
+ bool writeBufferUsed = true;
};
class tst_QCanBusDevice : public QObject
@@ -165,21 +165,19 @@ void tst_QCanBusDevice::initTestCase()
device.reset(new tst_Backend());
QVERIFY(device);
- QSignalSpy stateSpy(device.data(),
- SIGNAL(stateChanged(QCanBusDevice::CanBusDeviceState)));
+ QSignalSpy stateSpy(device.data(), &QCanBusDevice::stateChanged);
- QVERIFY(!device->connectDevice()); //first connect triggered to fail
+ QVERIFY(!device->connectDevice()); // first connect triggered to fail
QVERIFY(device->connectDevice());
- QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState,
- 5000);
+ QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState, 5000);
QCOMPARE(stateSpy.count(), 4);
- QCOMPARE(stateSpy[0].at(0).value<QCanBusDevice::CanBusDeviceState>(),
+ QCOMPARE(stateSpy.at(0).at(0).value<QCanBusDevice::CanBusDeviceState>(),
QCanBusDevice::ConnectingState);
- QCOMPARE(stateSpy[1].at(0).value<QCanBusDevice::CanBusDeviceState>(),
+ QCOMPARE(stateSpy.at(1).at(0).value<QCanBusDevice::CanBusDeviceState>(),
QCanBusDevice::UnconnectedState);
- QCOMPARE(stateSpy[2].at(0).value<QCanBusDevice::CanBusDeviceState>(),
+ QCOMPARE(stateSpy.at(2).at(0).value<QCanBusDevice::CanBusDeviceState>(),
QCanBusDevice::ConnectingState);
- QCOMPARE(stateSpy[3].at(0).value<QCanBusDevice::CanBusDeviceState>(),
+ QCOMPARE(stateSpy.at(3).at(0).value<QCanBusDevice::CanBusDeviceState>(),
QCanBusDevice::ConnectedState);
}
@@ -214,22 +212,20 @@ void tst_QCanBusDevice::write()
{
// we assume unbuffered writing in this function
device->setWriteBuffered(false);
- QCOMPARE(device->isWriteBuffered(), false);
+ QVERIFY(!device->isWriteBuffered());
- QSignalSpy spy(device.data(), SIGNAL(framesWritten(qint64)));
- QSignalSpy stateSpy(device.data(),
- SIGNAL(stateChanged(QCanBusDevice::CanBusDeviceState)));
+ QSignalSpy spy(device.data(), &QCanBusDevice::framesWritten);
+ QSignalSpy stateSpy(device.data(), &QCanBusDevice::stateChanged);
QCanBusFrame frame;
frame.setPayload(QByteArray("testData"));
device->disconnectDevice();
- QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::UnconnectedState,
- 5000);
+ QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::UnconnectedState, 5000);
QCOMPARE(stateSpy.count(), 2);
- QCOMPARE(stateSpy[0].at(0).value<QCanBusDevice::CanBusDeviceState>(),
+ QCOMPARE(stateSpy.at(0).at(0).value<QCanBusDevice::CanBusDeviceState>(),
QCanBusDevice::ClosingState);
- QCOMPARE(stateSpy[1].at(0).value<QCanBusDevice::CanBusDeviceState>(),
+ QCOMPARE(stateSpy.at(1).at(0).value<QCanBusDevice::CanBusDeviceState>(),
QCanBusDevice::UnconnectedState);
stateSpy.clear();
QVERIFY(stateSpy.isEmpty());
@@ -237,14 +233,12 @@ void tst_QCanBusDevice::write()
device->writeFrame(frame);
QCOMPARE(spy.count(), 0);
-
device->connectDevice();
- QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState,
- 5000);
+ QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState, 5000);
QCOMPARE(stateSpy.count(), 2);
- QCOMPARE(stateSpy[0].at(0).value<QCanBusDevice::CanBusDeviceState>(),
+ QCOMPARE(stateSpy.at(0).at(0).value<QCanBusDevice::CanBusDeviceState>(),
QCanBusDevice::ConnectingState);
- QCOMPARE(stateSpy[1].at(0).value<QCanBusDevice::CanBusDeviceState>(),
+ QCOMPARE(stateSpy.at(1).at(0).value<QCanBusDevice::CanBusDeviceState>(),
QCanBusDevice::ConnectedState);
device->writeFrame(frame);
@@ -253,8 +247,7 @@ void tst_QCanBusDevice::write()
void tst_QCanBusDevice::read()
{
- QSignalSpy stateSpy(device.data(),
- SIGNAL(stateChanged(QCanBusDevice::CanBusDeviceState)));
+ QSignalSpy stateSpy(device.data(), &QCanBusDevice::stateChanged);
device->disconnectDevice();
QCOMPARE(device->state(), QCanBusDevice::UnconnectedState);
@@ -263,8 +256,7 @@ void tst_QCanBusDevice::read()
const QCanBusFrame frame1 = device->readFrame();
QVERIFY(device->connectDevice());
- QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState,
- 5000);
+ QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState, 5000);
QCOMPARE(stateSpy.count(), 2);
QCOMPARE(stateSpy[0].at(0).value<QCanBusDevice::CanBusDeviceState>(),
QCanBusDevice::ConnectingState);
@@ -281,48 +273,43 @@ void tst_QCanBusDevice::read()
void tst_QCanBusDevice::error()
{
- QSignalSpy spy(device.data(), SIGNAL(errorOccurred(QCanBusDevice::CanBusError)));
+ QSignalSpy spy(device.data(), &QCanBusDevice::errorOccurred);
QString testString(QStringLiteral("testString"));
auto backend = qobject_cast<tst_Backend *>(device.data());
QVERIFY(backend);
- //NoError
+ // NoError
QVERIFY(device->errorString().isEmpty());
- //ReadError
- backend->emulateError(testString+QString::fromLatin1("a"),
- QCanBusDevice::ReadError);
- QCOMPARE(testString+QString::fromLatin1("a"), device->errorString());
- QVERIFY(device->error() == 1);
+ // ReadError
+ backend->emulateError(testString + QStringLiteral("a"), QCanBusDevice::ReadError);
+ QCOMPARE(testString + QStringLiteral("a"), device->errorString());
+ QCOMPARE(device->error(), 1);
QCOMPARE(spy.count(), 1);
- //WriteError
- backend->emulateError(testString+QString::fromLatin1("b"),
- QCanBusDevice::WriteError);
- QCOMPARE(testString+QString::fromLatin1("b"), device->errorString());
- QVERIFY(device->error() == 2);
+ // WriteError
+ backend->emulateError(testString + QStringLiteral("b"), QCanBusDevice::WriteError);
+ QCOMPARE(testString + QStringLiteral("b"), device->errorString());
+ QCOMPARE(device->error(), 2);
QCOMPARE(spy.count(), 2);
- //ConnectionError
- backend->emulateError(testString+QString::fromLatin1("c"),
- QCanBusDevice::ConnectionError);
- QCOMPARE(testString+QString::fromLatin1("c"), device->errorString());
- QVERIFY(device->error() == 3);
+ // ConnectionError
+ backend->emulateError(testString + QStringLiteral("c"), QCanBusDevice::ConnectionError);
+ QCOMPARE(testString + QStringLiteral("c"), device->errorString());
+ QCOMPARE(device->error(), 3);
QCOMPARE(spy.count(), 3);
- //ConfigurationError
- backend->emulateError(testString+QString::fromLatin1("d"),
- QCanBusDevice::ConfigurationError);
- QCOMPARE(testString+QString::fromLatin1("d"), device->errorString());
- QVERIFY(device->error() == 4);
+ // ConfigurationError
+ backend->emulateError(testString + QStringLiteral("d"), QCanBusDevice::ConfigurationError);
+ QCOMPARE(testString + QStringLiteral("d"), device->errorString());
+ QCOMPARE(device->error(), 4);
QCOMPARE(spy.count(), 4);
- //UnknownError
- backend->emulateError(testString+QString::fromLatin1("e"),
- QCanBusDevice::UnknownError);
- QCOMPARE(testString+QString::fromLatin1("e"), device->errorString());
- QVERIFY(device->error() == 5);
+ // UnknownError
+ backend->emulateError(testString + QStringLiteral("e"), QCanBusDevice::UnknownError);
+ QCOMPARE(testString + QStringLiteral("e"), device->errorString());
+ QCOMPARE(device->error(), 5);
QCOMPARE(spy.count(), 5);
}
@@ -356,9 +343,8 @@ void tst_QCanBusDevice::tst_filtering()
f.format = QCanBusDevice::Filter::MatchBaseFormat;
filters.append(f);
- QVariant wrapper = QVariant::fromValue(filters);
- QList<QCanBusDevice::Filter> newFilter
- = wrapper.value<QList<QCanBusDevice::Filter> >();
+ const QVariant wrapper = QVariant::fromValue(filters);
+ const auto newFilter = wrapper.value<QList<QCanBusDevice::Filter> >();
QCOMPARE(newFilter.count(), 2);
QCOMPARE(newFilter.at(0).type, QCanBusFrame::DataFrame);
@@ -380,22 +366,21 @@ void tst_QCanBusDevice::tst_filtering()
void tst_QCanBusDevice::tst_bufferingAttribute()
{
std::unique_ptr<tst_Backend> canDevice(new tst_Backend);
- QVERIFY((bool)canDevice);
+ QVERIFY(canDevice != nullptr);
// by default buffered set to true
- QCOMPARE(canDevice->isWriteBuffered(), true);
+ QVERIFY(canDevice->isWriteBuffered());
canDevice->setWriteBuffered(false);
- QCOMPARE(canDevice->isWriteBuffered(), false);
+ QVERIFY(!canDevice->isWriteBuffered());
canDevice->setWriteBuffered(true);
- QCOMPARE(canDevice->isWriteBuffered(), true);
+ QVERIFY(canDevice->isWriteBuffered());
}
void tst_QCanBusDevice::tst_waitForFramesReceived()
{
if (device->state() != QCanBusDevice::ConnectedState) {
QVERIFY(device->connectDevice());
- QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState,
- 5000);
+ QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState, 5000);
}
QVERIFY(!device->framesAvailable());
@@ -431,14 +416,14 @@ void tst_QCanBusDevice::tst_waitForFramesReceived()
QVERIFY(!device->framesAvailable());
QTimer::singleShot(2000, [&]() {
- device->emulateError(QString("TriggerError"), QCanBusDevice::ReadError);
+ device->emulateError(QStringLiteral("TriggerError"), QCanBusDevice::ReadError);
});
elapsed.restart();
// error will be inserted after 2s
result = device->waitForFramesReceived(8000);
QVERIFY(!elapsed.hasExpired(8000));
QVERIFY(!result);
- QCOMPARE(device->errorString(), QString("TriggerError"));
+ QCOMPARE(device->errorString(), QStringLiteral("TriggerError"));
QCOMPARE(device->error(), QCanBusDevice::ReadError);
// test recursive calling of waitForFramesReceived() behavior
@@ -450,7 +435,7 @@ void tst_QCanBusDevice::tst_waitForFramesReceived()
QTimer::singleShot(2000, [&]() { device->triggerNewFrame(); });
QObject::connect(device.data(), &QCanBusDevice::framesReceived, [this, &handleCounter]() {
handleCounter++;
- //this should trigger a recursion which we want to catch
+ // this should trigger a recursion which we want to catch
device->waitForFramesReceived(5000);
});
result = device->waitForFramesReceived(8000);
@@ -462,26 +447,25 @@ void tst_QCanBusDevice::tst_waitForFramesWritten()
{
if (device->state() != QCanBusDevice::ConnectedState) {
QVERIFY(device->connectDevice());
- QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState,
- 5000);
+ QTRY_VERIFY_WITH_TIMEOUT(device->state() == QCanBusDevice::ConnectedState, 5000);
}
device->setWriteBuffered(false);
bool result = device->waitForFramesWritten(1000);
- QVERIFY(!result); //no buffer, wait not possible
+ QVERIFY(!result); // no buffer, waiting not possible
device->setWriteBuffered(true);
QVERIFY(device->framesToWrite() == 0);
result = device->waitForFramesWritten(1000);
- QVERIFY(!result); //nothing in buffer, nothing to wait for
+ QVERIFY(!result); // nothing in buffer, nothing to wait for
QCanBusFrame frame;
frame.setPayload(QByteArray("testData"));
// test error case
QTimer::singleShot(500, [&]() {
- device->emulateError(QString("TriggerWriteError"), QCanBusDevice::ReadError);
+ device->emulateError(QStringLiteral("TriggerWriteError"), QCanBusDevice::ReadError);
});
device->writeFrame(frame);
QElapsedTimer elapsed;
@@ -491,7 +475,7 @@ void tst_QCanBusDevice::tst_waitForFramesWritten()
result = device->waitForFramesWritten(8000);
QVERIFY(!elapsed.hasExpired(8000));
QVERIFY(!result);
- QCOMPARE(device->errorString(), QString("TriggerWriteError"));
+ QCOMPARE(device->errorString(), QStringLiteral("TriggerWriteError"));
QCOMPARE(device->error(), QCanBusDevice::ReadError);
// flush remaining frames out to reset the test
@@ -523,7 +507,7 @@ void tst_QCanBusDevice::tst_waitForFramesWritten()
QTimer::singleShot(2000, [&]() { device->writeFrame(frame); });
QObject::connect(device.data(), &QCanBusDevice::framesWritten, [this, &handleCounter]() {
handleCounter++;
- //this should trigger a recursion which we want to catch
+ // this should trigger a recursion which we want to catch
device->waitForFramesWritten(5000);
});
result = device->waitForFramesWritten(8000);