diff options
Diffstat (limited to 'tests')
10 files changed, 105 insertions, 19 deletions
diff --git a/tests/auto/qbluetoothdeviceinfo/qbluetoothdeviceinfo.pro b/tests/auto/qbluetoothdeviceinfo/qbluetoothdeviceinfo.pro index e33125c2..43ca52ed 100644 --- a/tests/auto/qbluetoothdeviceinfo/qbluetoothdeviceinfo.pro +++ b/tests/auto/qbluetoothdeviceinfo/qbluetoothdeviceinfo.pro @@ -4,6 +4,3 @@ CONFIG += testcase QT = core concurrent bluetooth testlib DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 -blackberry { - LIBS += -lbtapi -} diff --git a/tests/auto/qbluetoothservicediscoveryagent/qbluetoothservicediscoveryagent.pro b/tests/auto/qbluetoothservicediscoveryagent/qbluetoothservicediscoveryagent.pro index 9ae5d71d..72fb1732 100644 --- a/tests/auto/qbluetoothservicediscoveryagent/qbluetoothservicediscoveryagent.pro +++ b/tests/auto/qbluetoothservicediscoveryagent/qbluetoothservicediscoveryagent.pro @@ -4,8 +4,5 @@ CONFIG += testcase QT = core concurrent bluetooth testlib osx:QT += widgets -blackberry { - LIBS += -lbtapi -} DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 diff --git a/tests/auto/qbluetoothsocket/qbluetoothsocket.pro b/tests/auto/qbluetoothsocket/qbluetoothsocket.pro index 3c0f9e44..01a836fd 100644 --- a/tests/auto/qbluetoothsocket/qbluetoothsocket.pro +++ b/tests/auto/qbluetoothsocket/qbluetoothsocket.pro @@ -9,4 +9,10 @@ osx:QT += widgets OTHER_FILES += \ README.txt -DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 +osx { + DEFINES += QT_OSX_BLUETOOTH +} else:android:!android-no-sdk { + DEFINES += QT_ANDROID_BLUETOOTH +} config_bluez:qtHaveModule(dbus) { + DEFINES += QT_BLUEZ_BLUETOOTH +} diff --git a/tests/auto/qbluetoothsocket/tst_qbluetoothsocket.cpp b/tests/auto/qbluetoothsocket/tst_qbluetoothsocket.cpp index eafa3e80..7af7cf5e 100644 --- a/tests/auto/qbluetoothsocket/tst_qbluetoothsocket.cpp +++ b/tests/auto/qbluetoothsocket/tst_qbluetoothsocket.cpp @@ -81,6 +81,8 @@ private slots: void tst_error(); + void tst_preferredSecurityFlags(); + public slots: void serviceDiscovered(const QBluetoothServiceInfo &info); void finished(); @@ -499,6 +501,29 @@ void tst_QBluetoothSocket::tst_error() QVERIFY(socket.errorString() == QString()); } +void tst_QBluetoothSocket::tst_preferredSecurityFlags() +{ + QBluetoothSocket socket; + + //test default values +#if defined(QT_ANDROID_BLUETOOTH) | defined(QT_OSX_BLUETOOTH) + QCOMPARE(socket.preferredSecurityFlags(), QBluetooth::Secure); +#elif defined(QT_BLUEZ_BLUETOOTH) + QCOMPARE(socket.preferredSecurityFlags(), QBluetooth::Authorization); +#else + QCOMPARE(socket.preferredSecurityFlags(), QBluetooth::NoSecurity); +#endif + + socket.setPreferredSecurityFlags(QBluetooth::Authentication|QBluetooth::Encryption); + +#if defined(QT_OSX_BLUETOOTH) + QCOMPARE(socket.preferredSecurityFlags(), QBluetooth::Secure); +#else + QCOMPARE(socket.preferredSecurityFlags(), + QBluetooth::Encryption|QBluetooth::Authentication); +#endif +} + QTEST_MAIN(tst_QBluetoothSocket) #include "tst_qbluetoothsocket.moc" diff --git a/tests/auto/qlowenergycharacteristic/qlowenergycharacteristic.pro b/tests/auto/qlowenergycharacteristic/qlowenergycharacteristic.pro index 74fdbf0d..a9a31acb 100644 --- a/tests/auto/qlowenergycharacteristic/qlowenergycharacteristic.pro +++ b/tests/auto/qlowenergycharacteristic/qlowenergycharacteristic.pro @@ -4,9 +4,6 @@ CONFIG += testcase QT = core bluetooth testlib DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 -blackberry { - LIBS += -lbtapi -} osx:CONFIG += insignificant_test diff --git a/tests/auto/qlowenergydescriptor/qlowenergydescriptor.pro b/tests/auto/qlowenergydescriptor/qlowenergydescriptor.pro index dc069ca5..4df897b8 100644 --- a/tests/auto/qlowenergydescriptor/qlowenergydescriptor.pro +++ b/tests/auto/qlowenergydescriptor/qlowenergydescriptor.pro @@ -3,9 +3,6 @@ TARGET = tst_qlowenergydescriptor CONFIG += testcase QT = core bluetooth testlib -blackberry { - LIBS += -lbtapi -} osx:CONFIG += insignificant_test diff --git a/tests/auto/qlowenergyservice/qlowenergyservice.pro b/tests/auto/qlowenergyservice/qlowenergyservice.pro index 8213155f..6d074d82 100644 --- a/tests/auto/qlowenergyservice/qlowenergyservice.pro +++ b/tests/auto/qlowenergyservice/qlowenergyservice.pro @@ -3,7 +3,4 @@ TARGET = tst_qlowenergyservice CONFIG += testcase QT = core bluetooth testlib -blackberry { - LIBS += -lbtapi -} diff --git a/tests/bttestui/btlocaldevice.cpp b/tests/bttestui/btlocaldevice.cpp index fbb1e59d..5fb031fa 100644 --- a/tests/bttestui/btlocaldevice.cpp +++ b/tests/bttestui/btlocaldevice.cpp @@ -45,7 +45,7 @@ //#define SOCKET_PROTOCOL QBluetoothServiceInfo::L2capProtocol BtLocalDevice::BtLocalDevice(QObject *parent) : - QObject(parent) + QObject(parent), securityFlags(QBluetooth::NoSecurity) { localDevice = new QBluetoothLocalDevice(this); connect(localDevice, SIGNAL(error(QBluetoothLocalDevice::Error)), @@ -90,9 +90,9 @@ BtLocalDevice::BtLocalDevice(QObject *parent) : connect(socket, SIGNAL(connected()), this, SLOT(socketConnected())); connect(socket, SIGNAL(disconnected()), this, SLOT(socketDisconnected())); connect(socket, SIGNAL(readyRead()), this, SLOT(readData())); + setSecFlags(socket->preferredSecurityFlags()); server = new QBluetoothServer(SOCKET_PROTOCOL, this); - server->setSecurityFlags(QBluetooth::NoSecurity); connect(server, SIGNAL(newConnection()), this, SLOT(serverNewConnection())); connect(server, SIGNAL(error(QBluetoothServer::Error)), this, SLOT(serverError(QBluetoothServer::Error))); @@ -114,6 +114,21 @@ BtLocalDevice::~BtLocalDevice() } } +int BtLocalDevice::secFlags() const +{ + return (int)securityFlags; +} + +void BtLocalDevice::setSecFlags(int newFlags) +{ + QBluetooth::SecurityFlags fl(newFlags); + + if (securityFlags != fl) { + securityFlags = fl; + emit secFlagsChanged(); + } +} + QString BtLocalDevice::hostMode() const { switch (localDevice->hostMode()) { @@ -196,6 +211,20 @@ void BtLocalDevice::confirmPairing() localDevice->pairingConfirmation(confirm); } +void BtLocalDevice::cycleSecurityFlags() +{ + if (securityFlags.testFlag(QBluetooth::Secure)) + setSecFlags(QBluetooth::NoSecurity); + else if (securityFlags.testFlag(QBluetooth::Encryption)) + setSecFlags(secFlags() | QBluetooth::Secure); + else if (securityFlags.testFlag(QBluetooth::Authentication)) + setSecFlags(secFlags() | QBluetooth::Encryption); + else if (securityFlags.testFlag(QBluetooth::Authorization)) + setSecFlags(secFlags() | QBluetooth::Authentication); + else + setSecFlags(secFlags() | QBluetooth::Authorization); +} + void BtLocalDevice::deviceDiscovered(const QBluetoothDeviceInfo &info) { QString services; @@ -371,8 +400,11 @@ void BtLocalDevice::dumpServiceDiscovery() void BtLocalDevice::connectToService() { - if (socket) + if (socket) { + if (socket->preferredSecurityFlags() != securityFlags) + socket->setPreferredSecurityFlags(securityFlags); socket->connectToService(QBluetoothAddress(BTCHAT_DEVICE_ADDR),QBluetoothUuid(QString(TEST_SERVICE_UUID))); + } } void BtLocalDevice::connectToServiceViaSearch() @@ -380,6 +412,9 @@ void BtLocalDevice::connectToServiceViaSearch() if (socket) { qDebug() << "###### Connecting to service socket"; if (!foundTestServers.isEmpty()) { + if (socket->preferredSecurityFlags() != securityFlags) + socket->setPreferredSecurityFlags(securityFlags); + QBluetoothServiceInfo info = foundTestServers.at(0); socket->connectToService(info.device().address(), QBluetoothUuid(QString(TEST_SERVICE_UUID))); } else { @@ -512,6 +547,12 @@ void BtLocalDevice::serverListenPort() qDebug() << "###### Already listening" << serviceInfo.isRegistered(); return; } + + if (server->securityFlags() != securityFlags) { + qDebug() << "###### Setting security policy on server socket" << securityFlags; + server->setSecurityFlags(securityFlags); + } + qDebug() << "###### Start listening via port"; bool ret = server->listen(localDevice->address()); qDebug() << "###### Listening(Expecting TRUE):" << ret; @@ -576,6 +617,12 @@ void BtLocalDevice::serverListenUuid() qDebug() << "###### Already listening" << serviceInfo.isRegistered(); return; } + + if (server->securityFlags() != securityFlags) { + qDebug() << "###### Setting security policy on server socket" << securityFlags; + server->setSecurityFlags(securityFlags); + } + qDebug() << "###### Start listening via UUID"; serviceInfo = server->listen(QBluetoothUuid(QString(TEST_SERVICE_UUID)), tr("Bt Chat Server")); qDebug() << "###### Listening(Expecting TRUE, TRUE):" << serviceInfo.isRegistered() << serviceInfo.isValid(); diff --git a/tests/bttestui/btlocaldevice.h b/tests/bttestui/btlocaldevice.h index f3f519ca..ad64d923 100644 --- a/tests/bttestui/btlocaldevice.h +++ b/tests/bttestui/btlocaldevice.h @@ -48,13 +48,18 @@ public: explicit BtLocalDevice(QObject *parent = 0); ~BtLocalDevice(); Q_PROPERTY(QString hostMode READ hostMode NOTIFY hostModeStateChanged) + Q_PROPERTY(int secFlags READ secFlags WRITE setSecFlags + NOTIFY secFlagsChanged) + int secFlags() const; + void setSecFlags(int); QString hostMode() const; signals: void error(QBluetoothLocalDevice::Error error); void hostModeStateChanged(); void socketStateUpdate(int foobar); + void secFlagsChanged(); public slots: //QBluetoothLocalDevice @@ -68,6 +73,7 @@ public slots: void disconnected(const QBluetoothAddress &addr); void pairingDisplayConfirmation(const QBluetoothAddress &address, const QString &pin); void confirmPairing(); + void cycleSecurityFlags(); //QBluetoothDeviceDiscoveryAgent void deviceDiscovered(const QBluetoothDeviceInfo &info); @@ -123,6 +129,7 @@ private: QBluetoothServiceInfo serviceInfo; QList<QBluetoothServiceInfo> foundTestServers; + QBluetooth::SecurityFlags securityFlags; }; #endif // BTLOCALDEVICE_H diff --git a/tests/bttestui/main.qml b/tests/bttestui/main.qml index ddf55d02..caf182c3 100644 --- a/tests/bttestui/main.qml +++ b/tests/bttestui/main.qml @@ -90,6 +90,18 @@ Rectangle { anchors.bottomMargin: 3 text: device.evaluateSocketState(0) } + Text { + id: secFlagLabel; text: "SecFlags: " + anchors.left: parent.left + anchors.bottom: hostModeText.top + anchors.bottomMargin: 3 + } + Text { + anchors.left: secFlagLabel.right + anchors.bottom: hostModeText.top + anchors.bottomMargin: 3 + text: device.secFlags + } Row { anchors.top: parent.top @@ -132,6 +144,10 @@ Rectangle { buttonText: "Unpair" onClicked: device.requestPairingUpdate(false) } + Button { + buttonText: "Cycle SecFlag" + onClicked: device.cycleSecurityFlags() + } } Column { spacing: 8 |