From a56a776d4199568657f10248d387c87e40c508fc Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 4 Feb 2016 14:52:46 +0100 Subject: Bluetooth LE: Add configure test for Linux crypto API. These files were forgotten in commit c516f6157a. Change-Id: I87bd57545b8873fc0aa00751058be604588daffe Reviewed-by: Alex Blasche --- config.tests/linux_crypto_api/linux_crypto_api.pro | 5 +++ config.tests/linux_crypto_api/main.cpp | 41 ++++++++++++++++++++++ .../qlowenergycontroller-gattserver/test/test.pro | 1 + .../test/tst_qlowenergycontroller-gattserver.cpp | 5 +-- 4 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 config.tests/linux_crypto_api/linux_crypto_api.pro create mode 100644 config.tests/linux_crypto_api/main.cpp diff --git a/config.tests/linux_crypto_api/linux_crypto_api.pro b/config.tests/linux_crypto_api/linux_crypto_api.pro new file mode 100644 index 00000000..7dff17fa --- /dev/null +++ b/config.tests/linux_crypto_api/linux_crypto_api.pro @@ -0,0 +1,5 @@ +TEMPLATE = app + +TARGET = linux_crypto_api + +SOURCES += main.cpp diff --git a/config.tests/linux_crypto_api/main.cpp b/config.tests/linux_crypto_api/main.cpp new file mode 100644 index 00000000..0a392fb6 --- /dev/null +++ b/config.tests/linux_crypto_api/main.cpp @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtConnectivity module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include +#include + +int main() +{ + sockaddr_alg sa; + sa.salg_family = AF_ALG; + sa.salg_type[0] = 0; + sa.salg_name[0] = 0; + setsockopt(3, 279 /* SOL_ALG */, ALG_SET_KEY, "dummy", 5); +} diff --git a/tests/auto/qlowenergycontroller-gattserver/test/test.pro b/tests/auto/qlowenergycontroller-gattserver/test/test.pro index 8c95106f..45cff660 100644 --- a/tests/auto/qlowenergycontroller-gattserver/test/test.pro +++ b/tests/auto/qlowenergycontroller-gattserver/test/test.pro @@ -4,5 +4,6 @@ TARGET = tst_qlowenergycontroller-gattserver CONFIG += testcase c++11 config_linux_crypto_api:DEFINES += CONFIG_LINUX_CRYPTO_API +config_bluez_le:DEFINES += CONFIG_BLUEZ_LE SOURCES += tst_qlowenergycontroller-gattserver.cpp diff --git a/tests/auto/qlowenergycontroller-gattserver/test/tst_qlowenergycontroller-gattserver.cpp b/tests/auto/qlowenergycontroller-gattserver/test/tst_qlowenergycontroller-gattserver.cpp index 25cbc17a..5acffcab 100644 --- a/tests/auto/qlowenergycontroller-gattserver/test/tst_qlowenergycontroller-gattserver.cpp +++ b/tests/auto/qlowenergycontroller-gattserver/test/tst_qlowenergycontroller-gattserver.cpp @@ -154,7 +154,7 @@ void TestQLowEnergyControllerGattServer::advertisingData() void TestQLowEnergyControllerGattServer::cmacVerifier() { -#ifdef CONFIG_LINUX_CRYPTO_API +#if defined(CONFIG_LINUX_CRYPTO_API) && defined(QT_BUILD_INTERNAL) && defined(CONFIG_BLUEZ_LE) // Test data comes from spec v4.2, Vol 3, Part H, Appendix D.1 const quint128 csrk = { { 0x3c, 0x4f, 0xcf, 0x09, 0x88, 0x15, 0xf7, 0xab, @@ -165,7 +165,8 @@ void TestQLowEnergyControllerGattServer::cmacVerifier() const bool success = LeCmacVerifier().verify(message, csrk, expectedMac); QVERIFY(success); #else // CONFIG_LINUX_CRYPTO_API - QSKIP("CMAC verification test only applicable on Linux with crypto API"); + QSKIP("CMAC verification test only applicable for developer builds on Linux " + "with BlueZ and crypto API"); #endif // Q_OS_LINUX } -- cgit v1.2.3