Support for tests that use ASCS operations Codec Config, Config QOS,
Enable, Disable, Update Metadata, Release.
Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
This adds new hidden compilation flags that indicate whether the
implementation is configured to be able to receive/transmit audio data.
The flags are profile agnostic to loosen dependencies between
modules/services.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
There is no requirement that HRS shall be on a peripheral device
as far as I can tell, and as such the device with HRS may not
be a GAP Broadcaster. Guards the advertising with
CONFIG_BT_BROADCASTER.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Default BT_BUF_ACL_RX_SIZE value varies based on selected host options.
Many buffers size (L2CAP COC MPS in particular) depends on that value
and those may affect qualification test cases steps.
To make core tests more predictable just use fixed values big enough to
comply with all configurations requirements.
This was affecting L2CAP/COS/ECFC/BV-04-C.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
This commit adds new API functions for AICS
Setting automatic/manual only gain modes
Setting mute disabled
Use new functions in btp.vcp
Signed-off-by: Szymon Czapracki <szymon.czapracki@codecoup.pl>
Some peripheral tests are failing if CONFIG_BT_EXT_ADV=n.
That was previously implicitly enabled by MESH but it has
dedicated overlay.
Affected tests:
GAP/BROB/BCST/BV-03-C
GAP/CONN/UCON/BV-06-C
GAP/PRIV/CONN/BV-10-C
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
This adds ASE_ID getter function to be used in the tests. The function
performs read operation on ASE charateristic. The characteristic value
is ensured to be ASE Idle state characterisitic value, which carries
information about ASE_ID value.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This refactors the function used to get the ASE for the tests.
Reworked function allows to get several ASE's for the test with a single
function call.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This cleans up the code by moving the ASE State Machine transition
test cases to separate source file.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
Key size validation was missing on getting local database which
resulted in selecting invalid characteristic by PTS for key size
validation tests.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
This adds basic functionality that mocks the k_work API. The ASCS uses
delayed work to defer the CIS disconnection.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This adds ISO mock with very basic functionality that is needed to mock
the `bt_iso_` functions used by ASCS.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This moves the ISO server registration to bt_ascs_init.
When the ASCS gets cleaned up (the callbacks are unregistered), the ISO
server gets unregistered.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This fixes invalid Unsupported Opcode Response_Code that
happened to be sent in ASE Control Point notification
as the response to operation initiated with Mandatory opcode
to support.
When the Unicast Server callbacks are not registered, every
operation that is initiated by client will fail with
Unspecified Error instead.
Fixes: #56139
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This adds cleanup of ASCS that is called when upper layer unregisters
it's callbacks. Without callbacks registered, the service is unusable.
The ASE's that were in non-idle state stay in this state, because the
implementation returns an error on every operation that is performed by
the client. The cleanup added moves all the ASE's to idle state.
Fixes: #56111
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This tests functions accessible from blob_io_flash via `bt_mesh_blob_io`
object. Whole partition of slot1 is filled with test data using
flash_map API and then read using blob_io_flash, by reading it as blocks
and chunks. `chunk_wr` is tested my writing sample data of size of slot1
partition and checked if each chunk is written correctly, and if whole
partition is filled with correct data at the end. Both of these test
use `bt_mesh_blob_io_flash_init` and `io_open` to prepare stream and
call `block_start` at every new block to check if flash is prepared
correctly.
Signed-off-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
This commit moves app from /tests/bluetooth/mesh to
tests/bluetooth/mesh/basic. This allows to reuse /tests/bluetooth/mesh
directory as location for more tests.
Signed-off-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
This command allows for more predictable GATT database changed tests
and allows to reduce custom test configurations from autopts.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
Initially I was hoping we can avoid dedicated overlays and have all
config options enabled but it turned out that built-in services
may affect other tests (especially core related like GAP and GATT).
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
Previously tests were passing only because initial value in
database and PTS value used for testing had same length.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
This fixes merge conflict issue by adding missing function
parameters that were introduced in
57784df5f0.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This adds initial ASCS unit tests.
Failing test cases have been conditionally skipped with Zephyr issue
number.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
Unit test project for bt_dh_key_gen().
This is part of subsys/bluetooth/host/ecc.c unit testing.
Signed-off-by: Ahmed Moheb <ahmed.moheb@nordicsemi.no>
Unit test project for bt_pub_key_get().
This is part of subsys/bluetooth/host/ecc.c unit testing.
Signed-off-by: Ahmed Moheb <ahmed.moheb@nordicsemi.no>
Unit test project for bt_pub_key_gen().
This is part of subsys/bluetooth/host/ecc.c unit testing.
Signed-off-by: Ahmed Moheb <ahmed.moheb@nordicsemi.no>
Unit test project for bt_pub_key_is_debug().
This is part of subsys/bluetooth/host/ecc.c unit testing.
Signed-off-by: Ahmed Moheb <ahmed.moheb@nordicsemi.no>
Fix#55957. The `bt_buf_get_evt` test was using `net_buf` structures
without allocating it properly.
Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
Some systems can support only legacy OOB pairing while others only
LE SC OOB pairing.
The existent API function "bt_set_oob_data_flag" was removed.
Two new API functions were added:
* "bt_le_oob_set_legacy_flag" to signal that legacy OOB pairing is used
* "bt_le_oob_set_sc_flag" to signal that LE SC OOB pairing is used
The code will now advertise the presence of OOB flag depending
on the type of pairing method(SC vs legacy)
Signed-off-by: Sebastian Panceac <sebastian.panceac@ext.grandcentrix.net>
Bsim won't be limited anymore to BT tests.
In preparation for adding more tests in network areas
swap the tests/bluetooth/bsim with tests/bsim/bluetooth
There is no other changes in this commit beyond that.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>