summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2016-05-27 20:54:37 +0200
committerAndré Hartmann <aha_1980@gmx.de>2016-06-01 08:20:33 +0000
commita345430678366db1a0540b4a38718bb12c0962c9 (patch)
tree606e7799032ee74dbc2ba85d1e85c068f342493c /tests
parent5ddd6bb219102b9561ab7a85cc9c9b8feba17e58 (diff)
QCanBus: Receive an error message from createDevice()
[ChangeLog] Before, createDevice() could only return nullptr if anything goes wrong. Now, an optional textual error description can be returned. Task-number: QTBUG-53642 Change-Id: Ie097e5c63096ae6a6fb9a798e4a8f23219cf1cfb Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/plugins/genericcanbus/main.cpp10
-rw-r--r--tests/auto/qcanbus/tst_qcanbus.cpp9
2 files changed, 16 insertions, 3 deletions
diff --git a/tests/auto/plugins/genericcanbus/main.cpp b/tests/auto/plugins/genericcanbus/main.cpp
index 3fc6225..d482c3b 100644
--- a/tests/auto/plugins/genericcanbus/main.cpp
+++ b/tests/auto/plugins/genericcanbus/main.cpp
@@ -50,9 +50,15 @@ class GenericBusPlugin : public QObject, public QCanBusFactory
Q_INTERFACES(QCanBusFactory)
public:
- QCanBusDevice *createDevice(const QString &interfaceName) const
+ QCanBusDevice *createDevice(const QString &interfaceName,
+ QString *errorMessage) const
{
- Q_UNUSED(interfaceName)
+ if (interfaceName == QStringLiteral("invalid")) {
+ if (errorMessage)
+ *errorMessage = tr("No such interface: '%1'").arg(interfaceName);
+
+ return nullptr;
+ }
auto device = new DummyBackend();
return device;
}
diff --git a/tests/auto/qcanbus/tst_qcanbus.cpp b/tests/auto/qcanbus/tst_qcanbus.cpp
index 08047e8..63f98cc 100644
--- a/tests/auto/qcanbus/tst_qcanbus.cpp
+++ b/tests/auto/qcanbus/tst_qcanbus.cpp
@@ -85,12 +85,19 @@ void tst_QCanBus::plugins()
void tst_QCanBus::createDevice()
{
+ QString error, error2;
QCanBusDevice *dummy = bus->createDevice("generic", "unused");
QCanBusDevice *dummy2 = bus->createDevice("generic", "unused");
- QCanBusDevice *faulty = bus->createDevice("faulty", "faulty");
+ QCanBusDevice *faulty = bus->createDevice("generic", "invalid", &error);
+ QCanBusDevice *faulty2 = bus->createDevice("faulty", "faulty", &error2);
QVERIFY(dummy);
QVERIFY(dummy2);
+
QVERIFY(!faulty);
+ QCOMPARE(error, tr("No such interface: 'invalid'"));
+
+ QVERIFY(!faulty2);
+ QCOMPARE(error2, tr("No such plugin: 'faulty'"));
delete dummy;
delete dummy2;