Commit graph

2480 commits

Author SHA1 Message Date
Andries Kruithof
dca33a126d Bluetooth: controller: update permutation script
Updated the script that compiles all different permutations so
that it starts with the correct configuration file

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2023-03-17 15:05:05 +01:00
Andries Kruithof
2ada005d7c Bluetooth: controller: removing legacy LLCP code
This commit removes the legacy LLCP code including the
Kconfig option
It also updates the babblesim tests, and removes the
tests for the legacy controller

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2023-03-17 15:05:05 +01:00
Krzysztof Kopyściński
d638811be1 tests: Bluetooth: Mesh: Test API and persistent storage of DFU slots
Tests behaviour of API (addition and deletion of slots, setting valid
state, iteration through slot list). Tests if slots are correctly
saved, recovered and deleted from persistent storage.

Signed-off-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
2023-03-17 14:19:56 +01:00
Szymon Janc
3e7205876c bluetooth: tester: Fix BTP L2CAP listen command
Fixes regression introduced in 26cf0b6850
"bluetooth: tester: Add support for missing BTP L2CAP listen param".

Success status was missing resulting in BTP to fail for tests that
require success on connection.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-17 10:07:15 +01:00
Emil Gydesen
ba7656d05f tests: Bluetooth: Audio: Streamline connection handling in tests
Modify the tests to only have a single set of connection
callbacks, where all the tests can use the same default_conn
and flag_connected.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-03-17 09:31:28 +01:00
Alberto Escolar Piedras
2ca438fc55 tests/bluetooth/mesh: Synchronize devices before boot
To ensure no indeterminism, synchronize devices before they
boot, and therefore before the test main function is executed.

Note that at this point, there is no actual indeterminism
to correct.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-03-17 09:30:26 +01:00
Pavel Vasilyev
58f35ead65 tests: Bluetooth: Mesh: Remove device synchronization API
This API was creating more problems than solving. We should not use back
channel in bsim tests unless there is no other way to communicate
between devices. To synchronize devices we should use k_sleep.

This addresses
https://github.com/zephyrproject-rtos/zephyr/issues/55821

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-03-16 14:52:05 +01:00
Pavel Vasilyev
ec6433e889 tests: Bluetooth: Mesh: Set resync offset to 100ms for all mesh tests
Since this becomes de facto a default value for most of our tests, set
it by default.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-03-16 14:52:05 +01:00
Mariusz Skamra
253d0806d3 test: Bluetooth: host: Add unit tests for bt_data_parse
This adds unit tests for bt_data_parse.
The sample data concept used in test is based on AD Structures of
Advertising, Periodic Advertising, and Scan Response presented in
Core specification.

Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
2023-03-16 11:46:36 +01:00
Emil Gydesen
db7bb2c9b1 tests: Bluetooth: Audio: Add unicast client CP notification bsim testing
Adds waiting for the control point operation callbacks in the
unicast client BSIM test, ensuring that the callbacks work, but also
testing that the server is correctly sending them.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-03-16 09:18:00 +01:00
Nirosharn Amarasinghe
52db790700 tests: bluetooth: controller: release of padding PDUs for framed prod.
Implemented tests to check release of framed padding PDUs as the end of
the event.

Signed-off-by: Nirosharn Amarasinghe <niag@demant.com>
2023-03-16 09:17:19 +01:00
Henrik Brix Andersen
c6c5d5842d tests: remove test_framework tag from tests non-framework tests
Remove the "test_framework" tag from tests that are not testing the ztest
framework itself.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-03-15 15:03:02 +01:00
Henrik Brix Andersen
b721f0b3a1 tests: bluetooth: fix testcase.yaml line indentations
Fix the line indentations used in the Bluetooth testcase.yaml files.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-03-15 15:03:02 +01:00
Szymon Janc
b07f474d71 bluetooth: tester: Fix copy paste issue in config_mod_sub_ovw
stuct btp_mesh_cfg_model_sub_add_cmd was used instead of struct
btp_mesh_cfg_model_sub_ovw_cmd for parsing command.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-15 15:02:07 +01:00
Szymon Janc
26cf0b6850 bluetooth: tester: Add support for missing BTP L2CAP listen param
BTP_L2CAP_CONNECTION_RESPONSE_INSUFF_ENCRYPTION is used to indicate
encryption is required (but not authentication).

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-15 15:01:52 +01:00
Magdalena Kasenberg
40b4cccf83 bluetooth: tester: Add nrf5340_hci_rpmsg.conf file
To apply when the hci_rpmsg controller with overlay
nrf5340_cpunet_iso-bt_ll_sw_split.conf is used on the netcore.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2023-03-15 15:01:34 +01:00
Alperen Sener
2a76e05d0c Bluetooth: Tester: fixing mesh btp cmds
fix mesh btp command structs for btp commands
cfg_model_sub_ovw and cfg_model_app_get

Signed-off-by: Alperen Sener <alperen.sener@nordicsemi.no>
2023-03-14 10:50:49 +01:00
Andrei Emeltchenko
545ecbb947 tests: bluetooth: Correct unsigned compare
(unsigned - unsigned) is always >= 0, so I believe the right compare
string is (unsigned > unsigned), otherwise we would check for (is
equal).

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-03-14 10:50:19 +01:00
Ahmed Moheb
15ed0457b5 tests: bluetooth: host: Add UT for bt_encrypt_be()
Unit test project for bt_encrypt_be().
This is part of subsys/bluetooth/host/crypto.c unit testing.

Signed-off-by: Ahmed Moheb <ahmed.moheb@nordicsemi.no>
2023-03-14 10:48:55 +01:00
Ahmed Moheb
3638889505 tests: bluetooth: host: Add UT for bt_encrypt_le()
Unit test project for bt_encrypt_le().
This is part of subsys/bluetooth/host/crypto.c unit testing.

Signed-off-by: Ahmed Moheb <ahmed.moheb@nordicsemi.no>
2023-03-14 10:48:55 +01:00
Ahmed Moheb
574d78483c tests: bluetooth: host: Add UT for bt_rand()
Unit test project for bt_rand().
This is part of subsys/bluetooth/host/crypto.c unit testing.

Signed-off-by: Ahmed Moheb <ahmed.moheb@nordicsemi.no>
2023-03-14 10:48:55 +01:00
Ahmed Moheb
ebf96f4148 tests: bluetooth: host: Add UT for prng_init()
Unit test project for prng_init().
This is part of subsys/bluetooth/host/crypto.c unit testing.

Signed-off-by: Ahmed Moheb <ahmed.moheb@nordicsemi.no>
2023-03-14 10:48:55 +01:00
Ahmed Moheb
593dea7f36 tests: bluetooth: host: Add mocks for crypto.c
Add required mocks to be able to compile/test /bluetooth/host/crypto.c

Signed-off-by: Ahmed Moheb <ahmed.moheb@nordicsemi.no>
2023-03-14 10:48:55 +01:00
Aleksander Wasaznik
6648da731b Bluetooth: Host: SMP Keypress Notification
Add experimental support for SMP Keypress Notification.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2023-03-13 14:04:25 +01:00
Emil Gydesen
a87d395610 tests: Bluetooth: Add nrf5340_audio_dk board config for shell
Add a nrf5340_audio_dk board config the for BT shell which
enables support for LC3.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-03-13 14:02:33 +01:00
Alberto Escolar Piedras
546b8476fd tests/bt/bsim/mesh: Fix tests dependent on RSSI
The friendship tests are dependent on the attenuation
level as they take (much) longer with higher channel
attenuation.

As BabbleSim's "magic" modem model (default one used in these
tests) has been updated to provide a somehow accurate
RSSI measurement, one of these tests fails
tests/bluetooth/bsim/mesh/tests_scripts/friendship/msg_mesh_low_lat.sh
fails with the default channel attenuation of 60dBs.
Reduce the channel attenuation to 35dBs to approach the
previous RSSI values this tests were seeing on the DUTs with the
default modem.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-03-13 09:15:03 +01:00
Emil Gydesen
190701178d tests: Bluetooth: Shell: Add LC3 support for native_posix
The native_posix board can also be used for audio, and
thus should have LC3 support similar to the nrf5340.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-03-13 09:14:55 +01:00
Erik Brockhoff
1028cab11e Revert "Bluetooth: controller: use RX node piggy-back for NTF when possible"
This reverts commit 6dbc446342.

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2023-03-10 09:30:23 +01:00
Alberto Escolar Piedras
ef58fef8c8 tests/bluetooth/bsim: Fail CI on build failure
After 1de363d9d5, compile.sh stopped failing on build
failures as failing jobs in the background would neither stop
the script nor have their status propagated.
Fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-03-09 17:23:02 +01:00
Alberto Escolar Piedras
8cf65fa282 tests: bluetooth gatt settings: Fix random test failures
These tests are creating and deleting temporary files.
But they deleted them with a wildcard that
matched each other's temporary files causing failures
when the tests run in parallel.
Avoid it by only deleting the files for each test.

As a freeby: Add the option to pass arbitrary commands to Phy from the
calling script, as with most other tests

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-03-09 15:37:13 +01:00
Szymon Janc
f19e6d4811 bluetooth: tester: Use one-time advertising in GAP tests
This avoids potencial races where PTS is changing type of advertising
during tests.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
51adfd7172 bluetooth: tester: Use define for variable length BTP commands
This makes code a bit easier to follow.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
c978a2ae05 bluetooth: tester: Add explicit functions for event and response
This make is easier to verify if proper use of BTP is maintained.
tester_rsp and tester_rsp_full will be removed eventually when
BTP is fully async.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
06a418346a bluetooth: tester: Keep BTP command in buffer for delayed response
This allows to avoid copying data for async callbacks.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
1e2ca26a27 bluetooth: tester: Unify BTP index handling
We always have 0 index (and occasional NONE index) so there is no
point in validating those in each handler.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
7363d37300 bluetooth: tester: Convert PACS service to new BTP API
This makes PACS service to use new BTP command handlers API.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
77acd8857f bluetooth: tester: Convert MESH service to new BTP API
This makes MESH service to use new BTP command handlers API.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
df5fbbcc10 bluetooth: tester: Refactor VCP BTP
Split register functions, convert to new BTP API and fix some bugs
in BTP handlers.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
59b75401a9 bluetooth: tester: Fix IAS service registration
Make sure we don't send events if service was not registered.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
c1efda1cb1 bluetooth: tester: Cleanup BTP definitions
Cleanup and unify names and conventions in BTP headers.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
43bf912e60 bluetooth: tester: Convert L2CAP service to new BTP API
This makes L2CAP service to use new BTP command handlers API.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
bc9df109c6 bluetooth: tester: Convert GATT service to new BTP API
This makes GATT service to use new BTP command handlers API.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
2d53525ad2 bluetooth: tester: Convert BTP to use bt_addr_le_t
bt_addr_le_t matches BTP convention for addresses and it makes it
so much better to handle those directly from command structures.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
79f1df9f5b bluetooth: tester: Refactor BTP handling
This changes the way of BTP commmand handlers are called. Instead of
calling functions to handle service we now provide API for registering
callbacks per command. This allows to keep common checks (size etc)
in single place for (most) commands. Also provide common buffer for
reponses forcing callbacks to handle replay in common way.

In this commit only Core and GAP services are converted. This leaves
rest of services unfuntional (but code stil compiles correctly).
Other services are converted in following commits.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
4683fabb1e bluetooth: tester: Initialize GAP service synchronously
There is no need to initialize in asynchronous way as BTP is blocked
anyway until init is done.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
d53e48d84b bluetooth: tester: Move core service to separate file
There is no need to keep it in same file as BTP protocol handler.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Szymon Janc
4dfca4282d bluetooth: tester: Prefix tester BTP protocol defines
Make all BTP related defines and structures prefixed with BTP.

Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2023-03-08 11:34:43 +01:00
Emil Gydesen
b147f86392 tests: Bluetooth: Fix VCP Vol rend standalone tests not being run
Due to a missing backslash, the VCP vol rend tests were not being run.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-03-08 11:07:00 +01:00
Emil Gydesen
89ef99ce44 tests: Bluetooth: Fix vocs location error strings
Some of the error strings were incorrect.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-03-08 11:07:00 +01:00
Aleksandr Khromykh
41814f8c3b tests: Bluetooth: Mesh: fix read access to uninitialized memory
There are a couple of places where read access to uninitialized memory
happens in new mesh-1.1 tests. Valgrind highlights them.
PR fixes them.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2023-03-08 08:58:37 +01:00