Commit graph

16219 commits

Author SHA1 Message Date
Chris Friedt
f5cf14cbb1 tests: posix: timers: provide at least 1 dynamic thread
timer_create() will error if there are no dynamic threads to
run the SIGEV_THREAD handler, causing the test to fail (where
it was previously expected to pass).

Ensure that there is at least 1 dynamic thread available to
the POSIX API.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-16 08:04:36 +02:00
Krzysztof Chruściński
5f55fed4bb kernel: timeout: z_add_timeout to return expiration tick
Add return value to z_add_timeout. It returns system tick when timeout
will expire.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-15 19:09:33 +02:00
IBEN EL HADJ MESSAOUD Marwa
a2cb85295b tests: drivers: adc: adc_api: update adc_api test
Add nucleo_wba65ri overlay file

Signed-off-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
2025-04-15 15:33:15 +02:00
Georgios Vasilakis
5c06558be2 samples: tests: Exclude nRF54L10 NS for unsupported tests/samples
The ADC and watchdog samples are not currently supported for the
non secure target of the nRF54L10 DK.

Add exclusions for these until they are supported.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
2025-04-14 20:05:17 +02:00
Luis Ubieda
7f6588877a tests: i2c_ram: Add testcase for i2c_rtio write with transactions
As it is a common pattern for drivers performing writes (e.g: write
reg-addr + write reg-data) without having to memcpy both into a buffer.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-14 20:04:47 +02:00
Peter Wang
393c8d1378 boards: frdm_mcxa166, frdm_mcxa276: add uart support
1. add uart support
2. enable the uart_async_api test example

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-04-14 20:03:54 +02:00
Piotr Krzyzanowski
b983b0441b tests: drivers: spi: Add NULL spi_buf_set tests
Add test cases where spi_transceive gets NULL spi_buf_set
once for tx and once for rx.

Signed-off-by: Piotr Krzyzanowski <piotr.krzyzanowski@nordicsemi.no>
2025-04-14 20:03:28 +02:00
Jordan Yates
ab34a9df48 zbus: remove k_malloc dependency for ZBUS_RUNTIME_OBSERVERS
Remove the dependency on the system heap existing when enabling
`ZBUS_RUNTIME_OBSERVERS`. Instead the previously allocated memory is
required to be provided to `zbus_chan_add_obs` (which can still be
allocated through malloc).

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-14 20:03:09 +02:00
Fin Maaß
1c788ba74d tests: storage: flash_map: add test for flash_area_copy()
add test for flash_area_copy().

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-04-14 16:07:35 +02:00
Théo Battrel
77bdc8a435 Bluetooth: Add usage of util_eq and util_memeq
Update `bt_irk_eq` to use `util_memeq` instead of `memcmp` and the
"disconnect" BabbleSim test to use `util_eq` instead of a first
assertion on the size followed by a `memcmp`.

This is done as an example usage of the two new functions.

Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
2025-04-14 16:06:38 +02:00
Théo Battrel
716e6bfd20 Tests: Util: Add unit tests for util_eq/util_memeq
Add two unit tests for the newly added functions `util_eq` and
`util_memeq`.

Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
2025-04-14 16:06:38 +02:00
Jordan Yates
97f2814b5e tests: drivers: mark rebooting tests with expect_reboot: true
Notify twister of tests that are expected to reboot in normal operation.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-14 13:05:46 +02:00
JP Hutchins
fe6366b804 lib: crc: add CRC-32K/4.2
This adds the best HD=4 CRC32 polynomial. The discovery
is the result of research by Philip Koopman of Carnegie
Mellon University, and is well documented at
https://users.ece.cmu.edu/~koopman/crc/.

The user is given the option of trading 1024B of RAM to
improve the execution speed. The unit tests are parameterized
with this KConfig option.

Signed-off-by: JP Hutchins <jp@intercreate.io>
2025-04-14 09:49:02 +02:00
Simone Orru
36ec017a38 uuid: Add sample for UUID utilities
Add a sample that showcases the usqge of the
UUID utilities.

Signed-off-by: Simone Orru <simone.orru@secomind.com>
2025-04-14 09:47:26 +02:00
Simone Orru
25c94a3019 uuid: Add tests for UUID utilities
Add some tests for the UUID utilities.

Signed-off-by: Simone Orru <simone.orru@secomind.com>
2025-04-14 09:47:26 +02:00
Daniel Leung
781011b911 tests: kernel/pending: fix incorrect test names
These tests should be named "kernel.pending" instead of
"kernel.objects".

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-04-12 00:02:59 +02:00
Andrej Butok
c4b92123d3 tests: littlefs: add .conf and .overlay for nxp boards
Adds littlefs test .conf and .overlay files for 18 nxp boards.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2025-04-11 22:07:03 +02:00
Chris Friedt
2ec7af3474 test: posix: c_lib_ext: reduce memory requirements for testsuite
Previously, these tests were part of tests/posix/common.
In an effort to tie feature tests to specific POSIX features
(Option Groups), these tests were moved to a separate suite in a
previous commit.

However, the memory requirements for the legacy
tests/posix/common testsuite were significantly higher while the
memory requirements for tests in tests/posix/c_lib_ext are
significantly lower.

Remove the minimum flash and ram requirements to run the test so
that it passes tests on the integration platform qemu_cortex_m0.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-04-11 22:06:55 +02:00
Olivier Lesage
7b61bd6518 bluetooth: gatt: Add BT_GATT_CCC_WITH_WRITE_CB()
Add simple helper macro so users can define a CCCD with a write cb
without having to combine BT_GATT_CCC_MANAGED() and
BT_GATT_CCC_INITIALIZER() themselves.

Unlike the changed callback the write callback has a return value
that can be used to reject the write request.

Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
2025-04-11 16:17:42 +02:00
Jeppe Odgaard
231b2a0c19 drivers: sensor: rename tmp116 to tmp11x
The tmp116 sensor driver also supports tmp117 and tmp119. Therefore rename
to indicate that is supports a range of tmp devices.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2025-04-11 16:17:35 +02:00
Jordan Yates
52415ed94f tests: pm: device_driver_init: test state_get during init
Test the value returned by `pm_device_state_get` during device driver
initialisation.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-04-11 14:53:53 +02:00
Utsav Munendra
12cba7addf portability: cmsis: Bugfix osThreadFlagsWait behavior
The osFlagsWaitAny option is not handled correctly.  It returns once any
flag at all is set, whereas it is supposed to only return once one of
the flags specified in flags is set.

Signed-off-by: Utsav Munendra <utsavm@meta.com>
2025-04-11 06:34:06 +02:00
Pavel Vasilyev
f46fd075d4 tests: bsim: bluetooth: host: hfc_multilink: Run test on nRF5340
Run test on nRF5340 to check if recombination works with HCI IPC
driver.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-04-11 06:32:58 +02:00
Pavel Vasilyev
82a7110406 tests: bsim: bluetooth: host: hfc: Run test for nRF5340
Run test for nRF5340 to check that it works with a different HCI driver.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-04-11 06:32:58 +02:00
Christoph Winklhofer
a5e295c452 json: improve parsing and serializing of integers
Add support for parsing and serializing of following integer types:
'int8_t', 'uint8_t', 'int16_t', 'uint16_t' and 'uint32_t'.

The generic integer token JSON_TOK_INT and JSON_TOK_UINT, in combination
with the field size (set by JSON_OBJ_DESCR_PRIM) allows to parse different
integer types, for example:

struct foo {
  int64_t i64;
  uint32_t u32;
  int16_t i16;
  uint8_t u8;
};

struct json_obj_descr foo_descr[] = {
  JSON_OBJ_DESCR_PRIM(struct foo, i64, JSON_TOK_INT),
  JSON_OBJ_DESCR_PRIM(struct foo, u32, JSON_TOK_UINT),
  JSON_OBJ_DESCR_PRIM(struct foo, i16, JSON_TOK_INT),
  JSON_OBJ_DESCR_PRIM(struct foo, u8, JSON_TOK_UINT),
};

These tokens also support parsing and serializing enums:

enum unsigned_enum { UA=0, UB=1, UC=2 };
enum signed_enum { SA=-1, SB=0, SC=1 };

struct foo {
  enum unsigned_enum u;
  enum signed_enum s;
};

struct json_obj_descr foo_descr[] = {
  JSON_OBJ_DESCR_PRIM(struct foo, u, JSON_TOK_UINT),
  JSON_OBJ_DESCR_PRIM(struct foo, s, JSON_TOK_INT),
};

Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
2025-04-11 06:32:50 +02:00
Christoph Winklhofer
63d33e631c json: support parsing and serializing of strings with char arrays
Support parsing and serializing of struct fields that are defined as a
char array.

Use the token JSON_TOK_STRING_BUF to parse and serialize a string for a
char array, for example:

struct foo {
  const char *str;
  char str_buf[30];
};

struct json_obj_descr foo_descr[] = {
  JSON_OBJ_DESCR_PRIM(struct foo, str, JSON_TOK_STRING),
  JSON_OBJ_DESCR_PRIM(struct foo, str_buf, JSON_TOK_STRING_BUF),
};

The struct 'json_obj_descr' now has an additional union member 'field'
to store the size of the struct field, which is used with the token
'JSON_TOK_STRING_BUF' to determine the element size.

Fixes: #65200
Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
2025-04-11 06:32:50 +02:00
Hake Huang
98458e2220 tests: uart: add extra_conf to disable CONFIG_USERSPACE
while disable USERSPACE we need set
CONFIG_TEST_ENABLE_USERSPACE=n

fixes: #82758

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2025-04-10 18:01:18 +02:00
Kiara Navarro
77c1414082 drivers: charger: add driver for bq25713
Create a driver implementation for the battery charge controller
TI BQ25713.

It includes the ability to enable / disable the controller and also
to setup max current and voltage charge parameters at initialization
time but also at run time.

On the other hand, it is possible to assign / obtain input voltage
and current regulation.

Signed-off-by: Kiara Navarro <knavarro@paltatech.com>
2025-04-10 18:01:02 +02:00
Troels Nilsson
c3df8fcd92 Bluetooth: Controller: Add validation of received LL_CIS_REQ
Validate that a received LL_CIS_REQ is valid and reject if it is not

Fixes EBQ test failure in LL/CIS/PER/BI-07-C

Signed-off-by: Troels Nilsson <trnn@demant.com>
2025-04-10 15:51:54 +02:00
Benjamin Cabé
975b8e137f tests: json: fix tests involving double numbers
Update the JSON test cases to explicitly cast NAN and INFINITY to double
type to avoid implicit promotion.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-04-10 14:43:19 +02:00
Tim Lin
327f8df862 test: drivers/gpio: ite: it515xx_evb: Add gpio test
Add GPIO node for it515xx_evb test.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-04-10 12:58:01 +02:00
Sebastian Głąb
3c34f88678 tests: drivers: uart: uart_elementary: Run test on nRF54L* FLPR
Add overlays required to run the test on:
- nrf54l09pdk/nrf54l09/cpuflpr,
- nrf54l20pdk/nrf54l20/cpuflpr.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-04-10 12:57:27 +02:00
Sebastian Głąb
a9e822ee29 tests: drivers: watchdog: wdt_basic_api: Enable test on nRF54L09 and L20
Enable wdt_basic_api test on:
- nrf54l09pdk/nrf54l09/cpuapp (missing supported),
- nrf54l09pdk/nrf54l09/cpuflpr (missing overlay),
- nrf54l20pdk/nrf54l20/cpuflpr (missing supported and overlay).

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-04-10 12:57:27 +02:00
Sebastian Głąb
729e39a0a7 tests: boards: nrf: qdec: Enable test on nRF54L20 FLPR
Add overlay required to run qdec tests
on nrf54l20pdk/nrf54l20/cpuflpr.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-04-10 12:57:27 +02:00
Sebastian Głąb
6a782cf31f tests: drivers: timer: Enable test on nRF54L* cpuflpr
Enable nrf_grtc_timer test on:
- nrf54l09pdk/nrf54l09/cpuflpr and
- nrf54l20pdk/nrf54l20/cpuflpr.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-04-10 12:57:27 +02:00
Sebastian Głąb
fb1d730f5c tests: drivers: gpio: gpio_basic_api: Enable test on nRF54L* cpuflpr
Add overlay required to run gpio_basic_api test on
- nrf54l09pdk/nrf54l09/cpuflpr and
- nrf54l20pdk/nrf54l20/cpuflpr.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2025-04-10 12:57:27 +02:00
Tomasz Moń
b3eb6f2d11 usb: device_next: Reduce code size on Full-Speed only configuration
Allow compiler optimizations to remove High-Speed handling code. Knowing
that maximum operating speed is Full-Speed allows to reduce bulk buffers
from 512 to 64 bytes. More RAM optimizations are possible but this
commit only gets the low hanging fruits.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-04-10 12:57:19 +02:00
Luca Burelli
a90870da4c cmake: yaml: improve escaping of strings with backslashes and quotes
Switching the intermediate file format from JSON to YAML has a very
significant benefit: the file is now loaded via yaml_load(), which
internally calls Python to parse the file into the JSON format that
CMake expects. This means that the file contents are now automatically
escaped properly for JSON; it is a huge improvement over the previous
implementation, which was escaping everything given as input to
to_yaml().

With the removal of the now-redundant call in to_yaml(), escaping is
applied exactly once per value or list, when it is passed to yaml_set().
This allows to convert the logic in zephyr_string(ESCAPE ...) to a more
robust "escape everything" approach.

These changes fix the handling of strings with backslashes and different
types of quotes passed either directly or via generator expression. The
existing tests are updated to cover these cases.

Two other small changes are made in this commit:

- a small check in internal_yaml_list_append() is removed, as the same
  issue is already detected by the caller yaml_set() logic.

- the to_yaml() function is modified to initialize the YAML output
  variable at the top level, which is the expected behavior. This
  resulted in genex temp files sometimes having duplicate lines.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-04-10 10:11:47 +02:00
Luca Burelli
4a50fbf804 cmake: yaml: properly store strings
Store strings in YAML as single-quoted entries to avoid issues with
special characters. This also fixes a quirk with the current test
suite where the quotes in the expected value are filtered out by the
YAML import.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2025-04-10 10:11:47 +02:00
Christoph Winklhofer
fc37c02eb1 json: improve parsing and serializing of 'float' and 'double'
Up to now, the handling of type float was offloaded to the users of the
JSON utility, with the token JSON_TOK_FLOAT.

Improve handling of floating point types and support the types 'float'
and 'double' in a built-in way so that they can be directly parsed to
and serialized from variables (of type float or double).

The types are serialized in the shortest representation, either as a
decimal number or in scientific notation:
  * float (with JSON_TOK_FLOAT_FP): encoded with maximal 9 digits
  * double (with JSON_TOK_DOUBLE_FP): encoded with maximal 16 digits
  * NaN, Infinity, -Infinity: encoded and decoded as:
    {"nan_val":NaN,"inf_pos":Infinity,"inf_neg":-Infinity}

Enable the floating point functionality with the Kconfig option:
  JSON_LIBRARY_FP_SUPPORT=y

It requires a libc implementation with support for floating point
functions: strtof(), strtod(), isnan() and isinf().

Fixes: #59412
Signed-off-by: Christoph Winklhofer <cj.winklhofer@gmail.com>
2025-04-09 22:05:14 +02:00
Luis Ubieda
6feb1c639b tests: spi_loopback: Extend RTIO fallback messages to 5
Loopback test requires this in order to properly execute half
transactions. Otherwise, testsuite fails.

It was overlooked when fixing #85894.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-09 21:10:53 +02:00
Håkon Amundsen
76a825c5fa tests: spi_controller_peripheral: fix CTRLSEL conflict
Both EXMIF and SPIS peripherals are claiming GPIO port 6 pin 0, but
with different CTRLSEL values. This will trigger a build error with
nrf-regtool 9.0.0 as it is not possible to apply this configuration
to hardware.

Fix the issue by disabling the EXMIF node that is enabled by default.

Signed-off-by: Håkon Amundsen <haakon.amundsen@nordicsemi.no>
2025-04-09 21:10:19 +02:00
Jan Behrens
f75c057e85 drivers: stepper: Renamed DRV8424 to DRV84XX
Renamed the drv8424 stepper driver to indicate its support of the drv8424,
drv8425, drv8426, drv8434 and drv8436 stepper controllors. Also made the
microstep pins optional. All test files are renamed as well.

Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
2025-04-09 19:34:00 +02:00
Gerhard Jörges
235a363e63 tests: net: http_server: concurrent connections
update to reflect changes in 3ebecd15615197b81efe79fcde6e4bedc0f6b09d

Signed-off-by: Gerhard Jörges <joerges@metratec.com>
2025-04-09 17:32:50 +02:00
Okan Sahin
826ac55454 tests: drivers: build_all: Add build test for AD4130 driver
This commit adds build-only test of ad4130 spi based
adc.

Signed-off-by: Okan Sahin <Okan.Sahin@analog.com>
2025-04-09 17:32:29 +02:00
Emil Gydesen
0270704bcb tests: Bluetooth: Tester: Fix bad check for valid RX
The check was incorrect, and only reported invalid ISO
packages instead of valid.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-04-09 15:23:39 +02:00
Emil Gydesen
a4f8744ccf Bluetooth: CCP: Client: Add get_bearers
Add bt_ccp_client_get_bearers that will return the bearers of
a client so that the application can always retrieve them if they
do not store them from the discovery callback.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-04-09 15:23:07 +02:00
Chaitanya Tata
63cfbadc5b tests: wifi: configs: Fix the test tags
When only changes are in the "hostap" module the wifi build tests should
be run. Add the module tag to fix that.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-09 15:22:32 +02:00
Chaitanya Tata
fea0accb84 tests: net: wifi: Move AP to a separate test
AP mode shouldn't be enabled by default, it should be a separate
category.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-04-09 15:22:32 +02:00
Robert Lubos
307694f3d9 net: sockets: Remove support for AF_PACKET/IPPROTO_RAW combination
IPPROTO_RAW is not a valid protocol type for AF_PACKET sockets, which
should only use IEEE 802.3 protocol numbers. Therefore remove support
for this type of sockets.

As an alternative, users can use AF_PACKET/SOCK_DGRAM or
AF_INET(6)/SOCK_RAW, depending on the actual use case.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-04-09 12:36:34 +02:00