diff options
author | Alex Blasche <alexander.blasche@digia.com> | 2014-08-22 09:56:56 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@digia.com> | 2014-09-02 20:18:09 +0200 |
commit | bb4de7e992fc673884db553977b2756a165278b5 (patch) | |
tree | 0c0a9e56cc2f766ac13d76338bf64f3b52247222 /tests | |
parent | 6837d143b456eb1f253b68704a5ff1b48bef4de4 (diff) |
Add a way to detect that the QLEController is performing a discovery
Change-Id: Ie3146c136461ad4ecde4169f3b30dda0c814ca7b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'tests')
3 files changed, 54 insertions, 0 deletions
diff --git a/tests/auto/qlowenergycharacteristic/tst_qlowenergycharacteristic.cpp b/tests/auto/qlowenergycharacteristic/tst_qlowenergycharacteristic.cpp index a313d1f6..23189f51 100644 --- a/tests/auto/qlowenergycharacteristic/tst_qlowenergycharacteristic.cpp +++ b/tests/auto/qlowenergycharacteristic/tst_qlowenergycharacteristic.cpp @@ -67,10 +67,14 @@ private: QLowEnergyService *globalService; }; +Q_DECLARE_METATYPE(QLowEnergyController::ControllerState) + tst_QLowEnergyCharacteristic::tst_QLowEnergyCharacteristic() : globalControl(0), globalService(0) { QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true")); + + qRegisterMetaType<QLowEnergyController::ControllerState>(); } tst_QLowEnergyCharacteristic::~tst_QLowEnergyCharacteristic() @@ -121,8 +125,15 @@ void tst_QLowEnergyCharacteristic::initTestCase() } QSignalSpy discoveryFinishedSpy(controller, SIGNAL(discoveryFinished())); + QSignalSpy stateSpy(controller, SIGNAL(stateChanged(QLowEnergyController::ControllerState))); controller->discoverServices(); QTRY_VERIFY_WITH_TIMEOUT(discoveryFinishedSpy.count() == 1, 10000); + QCOMPARE(stateSpy.count(), 2); + QCOMPARE(stateSpy.at(0).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveringState); + QCOMPARE(stateSpy.at(1).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveredState); + foreach (const QBluetoothUuid &leServiceUuid, controller->services()) { QLowEnergyService *leService = controller->createServiceObject(leServiceUuid, this); if (!leService) diff --git a/tests/auto/qlowenergycontroller/tst_qlowenergycontroller.cpp b/tests/auto/qlowenergycontroller/tst_qlowenergycontroller.cpp index cb5bbb07..02f225ee 100644 --- a/tests/auto/qlowenergycontroller/tst_qlowenergycontroller.cpp +++ b/tests/auto/qlowenergycontroller/tst_qlowenergycontroller.cpp @@ -80,11 +80,13 @@ private: Q_DECLARE_METATYPE(QLowEnergyCharacteristic) Q_DECLARE_METATYPE(QLowEnergyDescriptor) Q_DECLARE_METATYPE(QLowEnergyService::ServiceError) +Q_DECLARE_METATYPE(QLowEnergyController::ControllerState) tst_QLowEnergyController::tst_QLowEnergyController() { qRegisterMetaType<QLowEnergyCharacteristic>(); qRegisterMetaType<QLowEnergyDescriptor>(); + qRegisterMetaType<QLowEnergyController::ControllerState>(); //QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true")); const QString remote = qgetenv("BT_TEST_DEVICE"); @@ -203,8 +205,14 @@ void tst_QLowEnergyController::tst_connect() if (!wasError) { QSignalSpy discoveryFinishedSpy(&control, SIGNAL(discoveryFinished())); QSignalSpy serviceFoundSpy(&control, SIGNAL(serviceDiscovered(QBluetoothUuid))); + QSignalSpy stateSpy(&control, SIGNAL(stateChanged(QLowEnergyController::ControllerState))); control.discoverServices(); QTRY_VERIFY_WITH_TIMEOUT(discoveryFinishedSpy.count() == 1, 10000); + QCOMPARE(stateSpy.count(), 2); + QCOMPARE(stateSpy.at(0).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveringState); + QCOMPARE(stateSpy.at(1).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveredState); QVERIFY(!serviceFoundSpy.isEmpty()); QVERIFY(serviceFoundSpy.count() >= foundServices.count()); @@ -332,8 +340,14 @@ void tst_QLowEnergyController::tst_concurrentDiscovery() * */ QSignalSpy discoveryFinishedSpy(&control, SIGNAL(discoveryFinished())); + QSignalSpy stateSpy(&control, SIGNAL(stateChanged(QLowEnergyController::ControllerState))); control.discoverServices(); QTRY_VERIFY_WITH_TIMEOUT(discoveryFinishedSpy.count() == 1, 10000); + QCOMPARE(stateSpy.count(), 2); + QCOMPARE(stateSpy.at(0).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveringState); + QCOMPARE(stateSpy.at(1).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveredState); // pick MAX_SERVICES_SAME_TIME_ACCESS services // and discover them at the same time @@ -384,8 +398,14 @@ void tst_QLowEnergyController::tst_concurrentDiscovery() } QCOMPARE(control.state(), QLowEnergyController::ConnectedState); + stateSpy.clear(); control.discoverServices(); QTRY_VERIFY_WITH_TIMEOUT(discoveryFinishedSpy.count() == 1, 10000); + QCOMPARE(stateSpy.count(), 2); + QCOMPARE(stateSpy.at(0).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveringState); + QCOMPARE(stateSpy.at(1).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveredState); // get all details for (int i = 0; i<MAX_SERVICES_SAME_TIME_ACCESS; i++) { @@ -1522,8 +1542,14 @@ void tst_QLowEnergyController::tst_writeCharacteristic() QCOMPARE(control.state(), QLowEnergyController::ConnectedState); QSignalSpy discoveryFinishedSpy(&control, SIGNAL(discoveryFinished())); + QSignalSpy stateSpy(&control, SIGNAL(stateChanged(QLowEnergyController::ControllerState))); control.discoverServices(); QTRY_VERIFY_WITH_TIMEOUT(discoveryFinishedSpy.count() == 1, 10000); + QCOMPARE(stateSpy.count(), 2); + QCOMPARE(stateSpy.at(0).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveringState); + QCOMPARE(stateSpy.at(1).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveredState); const QBluetoothUuid testService(QString("f000aa60-0451-4000-b000-000000000000")); QList<QBluetoothUuid> uuids = control.services(); @@ -1663,8 +1689,14 @@ void tst_QLowEnergyController::tst_writeDescriptor() QCOMPARE(control.state(), QLowEnergyController::ConnectedState); QSignalSpy discoveryFinishedSpy(&control, SIGNAL(discoveryFinished())); + QSignalSpy stateSpy(&control, SIGNAL(stateChanged(QLowEnergyController::ControllerState))); control.discoverServices(); QTRY_VERIFY_WITH_TIMEOUT(discoveryFinishedSpy.count() == 1, 10000); + QCOMPARE(stateSpy.count(), 2); + QCOMPARE(stateSpy.at(0).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveringState); + QCOMPARE(stateSpy.at(1).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveredState); const QBluetoothUuid testService(QString("f000aa00-0451-4000-b000-000000000000")); QList<QBluetoothUuid> uuids = control.services(); diff --git a/tests/auto/qlowenergydescriptor/tst_qlowenergydescriptor.cpp b/tests/auto/qlowenergydescriptor/tst_qlowenergydescriptor.cpp index 3b22d2e3..e276b2ea 100644 --- a/tests/auto/qlowenergydescriptor/tst_qlowenergydescriptor.cpp +++ b/tests/auto/qlowenergydescriptor/tst_qlowenergydescriptor.cpp @@ -67,10 +67,14 @@ private: QLowEnergyService *globalService; }; +Q_DECLARE_METATYPE(QLowEnergyController::ControllerState) + tst_QLowEnergyDescriptor::tst_QLowEnergyDescriptor() : globalControl(0), globalService(0) { QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true")); + + qRegisterMetaType<QLowEnergyController::ControllerState>(); } tst_QLowEnergyDescriptor::~tst_QLowEnergyDescriptor() @@ -124,8 +128,15 @@ void tst_QLowEnergyDescriptor::initTestCase() } QSignalSpy discoveryFinishedSpy(controller, SIGNAL(discoveryFinished())); + QSignalSpy stateSpy(controller, SIGNAL(stateChanged(QLowEnergyController::ControllerState))); controller->discoverServices(); QTRY_VERIFY_WITH_TIMEOUT(discoveryFinishedSpy.count() == 1, 10000); + QCOMPARE(stateSpy.count(), 2); + QCOMPARE(stateSpy.at(0).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveringState); + QCOMPARE(stateSpy.at(1).at(0).value<QLowEnergyController::ControllerState>(), + QLowEnergyController::DiscoveredState); + foreach (const QBluetoothUuid &leServiceUuid, controller->services()) { QLowEnergyService *leService = controller->createServiceObject(leServiceUuid, this); if (!leService) |