Commit Graph

31 Commits

Author SHA1 Message Date
Pavel Vasilyev
316d7fcd57 tests: Bluetooth: Mesh: Test Node Composition refresh with settings
Test Node Composition Refresh procedure with persistence settings.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Pavel Vasilyev
89c01e8686 tests: bluetooth: mesh: Implement robustness test for NPPI procedures
Test Dev Key Refresh, Node Composition Refresh and Node Address Refresh
procedures for robutness.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Pavel Vasilyev
bfc618dc0b tests: Bluetooth: Mesh: Test reprovisioning through RPR models
Test that Remote Provisioning models can re-provision a remote node
multiple times.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Pavel Vasilyev
341cbfb3eb tests: Bluetooth: Mesh: Add tests for BLOB Transfer in Pull mode
This commit adds several BabbleSim tests for BLOB transfer:
- A sanity test checking that BLOB Transfer completes successfully in
both, Push and Pull modes that runs transfer for 4 targets
- blob_cli_trans_resume test for Pull mode
- Test checking that BLOB client continues BLOB transfer if one of
targets times out while sending chunks.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Pavel Vasilyev
435ad72147 tests: Bluetooth: Mesh: Add distributor self update tests
Add a test where distributor is a single target and performs self
update. Add a test where distributor performs self update with multiple
targets.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Pavel Vasilyev
38c5042e82 tests: bluetooth: mesh: Check DFU Client persistency
Check that DFU client continues DFU procedure as long as there is at
least one active target.

Co-authored-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Anders Storrø
fa7edc576a Tests: Bluetooth: Mesh: BLOB cli no response
- Tests that BLOB Client suspends if no target responds to Block get.
- Tests that BLOB Client transfer ends if no target responds to Xfer
  get.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Anders Storrø
40ff3743ea Tests: Bluetooth: Mesh: BLOB cli transfer persist
Tests that BLOB Client continues the Push BLOB Transfer procedure
as long as there is at least one active target.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Pavel Vasilyev
4c2c1fe9d1 tests: bluetooth: mesh: Test confirm step in DFU with different effects
This commit implements the following tests:
- Test that DFU finishes successfully with all different effects;
- Test that DFU fails at confirm step with all different effects;

Co-authored-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Anders Storrø
cb2bc394df Tests: Bluetooth: Mesh: BLOB cli push & pull trans resume
Add bsim test for resuming push & pull mode transfer on the BLOB client
after BLOB server has been suspended during initial attempt.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Anders Storrø
7e135e57db Tests: Bluetooth: Mesh: BLOB cli broadcast unicast
Add bsim test using unicast addr for broadcast API of the BLOB client
model.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Anders Storrø
47446a22f1 Tests: Bluetooth: Mesh: BLOB cli ret caps suspend
Add bsim test for suspending retrieve capabilities procedure of the BLOB
client model.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Anders Storrø
21184c13f0 Tests: Bluetooth: Mesh: BLOB cli mod broadcast API
Add bsim test for broadcast API of the BLOB client model.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Anders Storrø
c4a8b55752 Tests: Bluetooth: Mesh: BLOB cli mod ret caps test
Add bsim test for retrieve capabilities of the BLOB client model.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Aleksandr Khromykh
ffddd9ffc0 Bluetooth: Mesh: enhanced provisioning authentication
Implementation of the enhanced provisioning authentication (EPA)
that is based on SHA256 and HMAC security algorithms.
OOB authentication mandates EPA usage.

Co-authored-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Aleksandr Khromykh
a9df7e19a1 tests: Bluetooth: Mesh: run bsim mesh on both v1.0.1 and v1.1
Add ability to run bsim mesh for both ble mesh versions
v1.0.1 and v1.1

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2023-03-06 13:52:15 +01:00
Emil Gydesen
6ecc6c3cec tests: Bluetooth: Audio: Add start stream to unicast tests
Add support for starting streams as the unicast client, which
will connect the CISes.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-03-03 11:00:48 +01:00
Jamie McCrae
0bad35de45 samples and tests: Use non-environmental zephyr base variable
This drops using the environmental part when referencing ZEPHYR_BASE
as the environment value does not have to be set and, in most cases,
is no longer set at all.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-03-03 10:49:10 +01:00
Emil Gydesen
b1415c57e1 tests: Bluetooth: Add missing encryption value for CAP broadcaster
The field was uninitialized, causing the test to fail.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-03-02 13:49:07 +01:00
Emil Gydesen
a73d2fc1ff tests: Bluetooth: Add VCP Vol ctlr invalid BSIM tests
Call all VCP Vol ctlr APIs with invalid values and ensure that
they return an error.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-03-02 10:56:27 +01:00
Emil Gydesen
63e055b165 tests: Bluetooth: VCP: Move vol ctlr tests into smaller functions
Move the volume controller test steps into smaller functions for more
reusability and easier to expand with invalid test steps.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-03-02 10:56:27 +01:00
Emil Gydesen
9e23eb6a4b tests: Bluetooth: Add VCP Vol rend invalid BSIM tests
Call all VCP Vol rend APIs with invalid values and ensure that
they return an error.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-03-02 10:56:27 +01:00
Emil Gydesen
92530778e2 tests: Bluetooth: VCP: Move vol rend tests into smaller functions
Move the volume renderer test steps into smaller functions for more
reusability and easier to expand with invalid test steps.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-03-02 10:56:27 +01:00
Jamie McCrae
af78cbdc99 samples and tests: Add REQUIRED to Zephyr find_package call
Adds REQUIRED to samples and tests for finding the zephyr package
to align all samples and tests with the same call and parameters.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-03-02 09:58:27 +01:00
Emil Gydesen
d192c1b1e4 Tests: Bluetooth: Fix missing CAP broadcast packing field
Set uninitialized packing field in the broadcast create
parameter.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-28 10:29:52 +01:00
Emil Gydesen
6760b9e68b Tests: Bluetooth: Add delay between IAS client write operations
Since there is no way for the client to read or get notified about
the state, we insert a delay between each operation to allow the
server to handle the alerts before getting a new alert request.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-27 13:20:33 +01:00
Emil Gydesen
29eec51dc3 Tests: Bluetooth: Fix bad err check in ias_test.c
The error check was == 0 where it should have been != 0.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-27 13:20:33 +01:00
Jonathan Rico
02edcd6494 Bluetooth: host: calculate GATT DB hash on settings load
Prevent race condtions between the stack and the low-priority thread by
calculating the hash (and acting on it, e.g. for marking peers
change-aware, sending SC indications, etc) in the settings_load() context.

Fixes #54773

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-02-27 10:48:15 +01:00
Jonathan Rico
b3671666e1 Bluetooth: host: clear ATT pending flag on failure to send
`ATT_PENDING_SENT` wasn't cleared when L2CAP reported an error when sending
the packet. This resulted in the channel being unusable for ever, since we
only clear that bit on a response (that will never be sent).

Found when setting `CONFIG_SYS_CLOCK_TICKS_PER_SEC=32768` in the
`notify_multiple` test. The kicker was the bug didn't manifest when EATT
wasn't enabled:
- we were queuing two unsubscribes back to back in the test
- on UATT we have to wait for a req-rsp pair before enqueuing a new one
- on UATT we only have one channel anyways

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-02-27 10:32:13 +01:00
Jonathan Rico
219e8b3b1a test: Bluetooth: split compile.sh
Split into layers for now, we can have more granular splits later.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-02-23 14:35:05 +01:00
Jonathan Rico
2a9eda226b tests: Bluetooth: restructure bsim_bt directory
This commit separates each test by layer level.

Obviously the tests will run the whole stack, but they should be separated
by which component/layer they intend on testing.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-02-23 14:35:05 +01:00