Commit graph

1537 commits

Author SHA1 Message Date
Johann Fischer 29003ff264 usb: bos: cleanup Binary Device Object Store header
We could reuse the BOS header, but there are parts that are only needed
in the legacy device support or used internally and the tests. Move this
parts to the appropriate places.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-05-17 16:25:02 +01:00
Mahesh Mahadevan d44a414574 tests: pm: power_mgmt_soc: enable testing on rd_rw612_bga
Enable the SoC power management test suite on the NXP RW612 EVK
development board.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-05-16 18:53:51 -04:00
Mateusz Michalek dc59cb56ed tests: storage: flash_map: _NODE macros
adds API checks for fixed partitions access macros that are
called with nodes as an argumet.

Signed-off-by: Mateusz Michalek <mateusz.michalek@nordicsemi.no>
2024-05-16 16:21:34 +02:00
Daniel DeGrasse 1a256c7c21 tests: subsys: sd: report bus frequency, report timing correctly
Report bus frequency, and use correct names for the timing modes when SD
cards do not support UHS modes.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-05-16 09:21:03 +02:00
Jordan Yates 23ca74b756 convert: use k_uptime_seconds
Replace usage of `k_uptime_get() / MSEC_PER_SEC` and
`k_uptime_get() / 1000` with dedicated function.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-05-14 09:32:01 +02:00
Corey Wharton bf114c6b1a logging: add API to trigger immediate processing of logs
There are use cases where it's beneficial to trigger the log
thread to process log messages as soon as able instead of waiting
for the processing timer or threshold triggers. An example would be
to flush the log buffer before entering the idle thread after
forcing a system power state.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2024-05-13 16:06:11 -04:00
Corey Wharton 2b9c552050 logging: fix logging.async test
Test has code to test conditions where CONFIG_LOG_PROCESS_THREAD=y
but this option was not enabled in any of the tests. This code was
using removed APIs and did not build anymore. This change enables
the log thread for the logging.async and fixes the tests.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2024-05-13 16:06:11 -04:00
Tomi Fontanilles 73da457dca tests: mgmt: mcumgr: fs_mgmt_hash_supported: make CI green
Exclude some more platforms from the tests.
They provoke devicetree-related build errors which weren't introduced
by the changes in this PR (#71947).

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-05-10 18:24:38 -04:00
Tomi Fontanilles 6002abe519 mgmt: mcumgr: replace Tinycrypt by PSA
As part of ongoing work to move away from TinyCrypt and towards PSA
(#43712), make fs_mgmt use either PSA (when available) or MbedTLS
(as a fallback) for SHA-256.

The use of PSA is guarded by CONFIG_MBEDTLS_PSA_CRYPTO_CLIENT
which requires a locally-built PSA core for devices without TF-M.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-05-10 18:24:38 -04:00
Guennadi Liakhovetski 8704a23cd7 llext: add a multi-file test case
Add a case, testing building an llext from multiple files, calling
functions and accessing data across files.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-05-09 10:28:50 +02:00
Johann Fischer 69e3e3a90d tests: usb: add usb_set_config() call to desc_sections test
With the previous changes, usb_set_config() is no longer called by
default at boot time, causing the test to fail.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-05-08 12:00:46 +02:00
Bjarki Arge Andreasen 330b23bd8b tests: modem_chat: Add test for timeout script chat command
Adds test for timeout script chat command, which is a script
chat command where only the timeout parameter is set. The
script will simply wait for the timeout duration, then move
on to the next script chat.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-05-07 15:09:21 -05:00
Hess Nathan a5b1b3045b coding guidelines: comply with MISRA Rule 20.9
- avoid to use undefined macros in #if expressions

Signed-off-by: Hess Nathan <nhess@baumer.com>
2024-05-06 14:59:03 +01:00
Jeferson Fernando 4810914d00 tests: subsys: lorawan: add channels mask configuration tests
Checks the behavior of configuration of channels mask for LoRaWAN.
Are passed wrong masks sizes as argument, NULL pointer instead channels
mask buffer and the right case to validate the expected returns.

Signed-off-by: Jeferson Fernando <jeferson.santos@edge.ufal.br>
2024-05-03 09:51:46 +02:00
Martin Jäger 9e341b49c8 tests: subsys: lorawan: add frag_decoder unit-test
The unit test allows to test the frag decoder algorithms using random
binary data.

The coded fragments are created on the fly using the encoder algorithm
described by Semtech in the LoRaWAN TS004-1.0.0 document.

Signed-off-by: Martin Jäger <martin@libre.solar>
2024-05-02 16:54:43 +02:00
Mykola Kvach 5019f93258 tests: add h3ulcb and salvator xs m3configs to perf disk tests
Add MMC related cfgs/overlays of arm64 gen3 rcar boards to perf and
susys/sd/mmc tests.

Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
2024-05-01 10:55:11 -04:00
Fabio Baltieri 02114bf822 tests: shell: add tests for "device list"
Add tests for the "device list" output with the various configuration of
device power management.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-05-01 10:31:03 +02:00
Fabio Baltieri 3574050ed2 tests: shell: add a test for shell_device_filter
Add a test for shell_device_filter and shell_device_lookup.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-04-30 19:30:15 -05:00
Anas Nashif aa2b72d32a tests: logging: remove userspace testing
This test is disabled upstream for a while and only run on zephyr
toolchains. Logging is missing the support needed for userspace, see
releated issue.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-04-25 09:55:08 +00:00
Pieter De Gendt 4d1ae8ce59 tests: bindesc: Replace CSTD definition with Kconfig symbols
Replace the bindesc testcase CSTD definitions with the newly introduced
kconfig symbols.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-04-25 09:54:39 +00:00
Al Semjonovs 023248a1f3 shell: Add test for custom shell macros
Verify customized shell macro APIs

Signed-off-by: Al Semjonovs <asemjonovs@google.com>
2024-04-24 16:04:03 -04:00
Dominik Ermel d42f483e1a tests/settings/fcb: Add missing native_sim_native_64.overlay
Added missing overlay for native_sim/native/64 platform.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-04-23 22:12:57 +00:00
Flavio Ceolin fdcd944c82 tests: power_mgmt: Remove dead logic
testing_device_lock is no longer used and the logic
using it is never used / needed. Just remove it.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-04-23 21:26:51 +00:00
Sylvio Alves 4a4d7584ff boards: rename and update esp32 related conf and overlay files
There are several esp32-based boards that its conf and overlay
files are missing proper renaming to match cpu cluster.

This also removes all _SOC_ name from files.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-04-23 15:36:13 +02:00
Flavio Ceolin 1ed452b295 tests: pm/device_runtime: Run in native_sim only
This is an API test and it was not designed to run in a real target.
Some attempts to run this test in devices cause the device to hang
after the test execution because the device sleeps and no wake up
source is set.

Fixes #68453

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-04-22 21:03:06 -04:00
Tomasz Moń 5144d0f65f usb: device_next: Introduce speed specific configurations
USB High-Speed devices must be able to operate at both High-Speed and
Full-Speed. The USB specification allows the device to have different
configurations depending on connection speed. Modify the API to reflect
USB Specification requirements on what can (e.g. configurations) and
what cannot (e.g. VID, PID) be speed dependent.

While the class configurations for different speeds are completely
independent, the actual class instances are shared between operating
speeds (because only one speed can be active at a time). Classes are
free to provide different number of interfaces and/or endpoints for
different speeds. The endpoints are assigned for all operating speeds
during initialization.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-04-22 06:51:22 -07:00
Tomasz Moń 52ce527c81 usb: device_next: uac2: add descriptor sets macros
Add necessary macros and convert UAC2 descriptor test from descriptor
blob to descriptor set. Currently there is only Full-Speed descriptor
set.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-04-22 06:51:22 -07:00
Johann Fischer fa5cfbd937 test: device_next: add overlays to build all functions
Add overlays and test case to build all USB device functions.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-04-19 17:04:00 +00:00
Franciszek Pindel ff0cc742c1 fs: ext2: Test removing indirect blocks
This commit adds test for the situation when all blocks
referenced from the top-level indirect block are removed.

Signed-off-by: Franciszek Pindel <fpindel@antmicro.com>
2024-04-19 10:13:09 +02:00
Luca Burelli 51195f4884 llext: set integration platform on relocatable test
This particular test was ignored in CI because, when using
platform_key, Twister picks the specific platform very early in
the process and it is possible that the chosen one is later
filtered out. To fix this, use the `integration_platforms` key
instead to specify the platforms where the test is expected to
complete successfully.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-04-19 10:10:39 +02:00
Luca Burelli 992d14948b llext: remove LOADER_BUILD_ONLY code
The latest commits allow llexts to be built on any architecture, even on
those where llext loading is still unsupported, which is very useful for
testing purposes. This means that the LOADER_BUILD_ONLY logic that was
added for this purpose in 1408d1e5b8 is no longer needed.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-04-19 10:10:39 +02:00
Alberto Escolar Piedras 6d8f0f58d5 tests dfu/mcuboot_multi: Add missing overlay for native_sim
During the hwmv1->v2 transition, overlays from a base
board were made to be shared with the variants.
So at that time all overlays for variants which were
just copies of the base overlay were removed.
After that in
https://github.com/zephyrproject-rtos/zephyr/pull/71149
this shared/merged overlay behaviour was reverted,
but not all tests were fixed.

This is one of those. Let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-04-18 12:20:14 +02:00
Alberto Escolar Piedras f664cffd9d tests input/longpress: Add missing overlays for native_sim_64
During the hwmv1->v2 transition, overlays from a base
board were made to be shared with the variants.
So at that time all overlays for variants which were
just copies of the base overlay were removed.
After that in
https://github.com/zephyrproject-rtos/zephyr/pull/71149
this shared/merged overlay behaviour was reverted,
but not all tests were fixed.

This is one of those. Let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-04-18 12:20:14 +02:00
Alberto Escolar Piedras 73c0ca109c tests/subsys log_backend_fs: Add missing overlays for native_sim
During the hwmv1->v2 transition, overlays from a base
board were made to be shared with the variants.
So at that time all overlays for variants which were
just copies were removed.
After that in
https://github.com/zephyrproject-rtos/zephyr/pull/71149
this shared/merged overlay behaviour was reverted,
but not all tests were fixed.

This is one of those. Let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-04-18 12:20:14 +02:00
Dominik Ermel db49d0ee26 tests/fs: Add missing native_sim_native_64.overlays
Prevent native_sim/native/64 platforms from failing at build.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-04-18 11:08:35 +02:00
Guennadi Liakhovetski ce01d96402 llext: add a relocatable extension test to Xtensa
LLEXT on Xtensa now supports both shared and relocatable (partially
linked) extensions. This commit adds a copy of the LLEXT test for the
relocatable case.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-04-11 11:35:24 -05:00
Franciszek Pindel e13d1b47c6 fs: ext2: Fix calculating fs_memory in ext2_format
First sector starts at CONFIG_EXT2_DISK_STARTING_SECTOR.
This commit fixes calculating free space, based on that value.

Signed-off-by: Franciszek Pindel <fpindel@antmicro.com>
2024-04-11 09:07:43 +02:00
Cedric Lescop b573f447f0 llext: add movt/movw relocation test
Arch arm relocatate test covers:
R_ARM_ABS32: all tests
decode_thm_jumps -> relative jmp extension
decode_thm_movs -> movwmovt extension

Signed-off-by: Cedric Lescop <cedric.lescop@se.com>
2024-04-10 14:13:15 -04:00
Dominik Ermel 5a0ecb9641 flash: Move dependency on FLASH_PAGE_LAYOUT where it belongs
The commit adds dependency on Kconfig FLASH_PAGE_LAYOUT to subsystems
that really require it:
 FCB, NVS, LittleFS
and removes direct selection from '*.conf' files where no longer
needed.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-04-10 10:01:40 +02:00
Torsten Rasmussen b9f3d68863 samples: tests: additional overlay and conf file adjustments
Adjustments of overlay and conf files to adjust for the MERGE removal.

The revert of MERGE requires specific overlay and conf files for boards
which relied on the MERGE feature.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2024-04-09 23:35:54 +02:00
Flavio Ceolin 3b895064af pm: Remove state lock/unlock API
This API is not widely used and it is actually broken since device
runtime power management is not checking it when suspending and
resuming.

On top of that, this API is very close to pm_device_busy* API,
close enough to consolidate in only one API.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-04-09 20:11:48 +02:00
Luca Burelli 313c09bffb llext: add support for build time custom commands
This patch adds support for custom commands to be executed during the
build of an llext target. The commands can be executed at different
points in the build process:

 - PRE_BUILD:  Before the llext code is linked.
 - POST_BUILD: After the llext code is built, but before packaging
	       it in an .llext file.
 - POST_PKG:   After the llext file has been created.

Note that PRE_BUILD is not supported for ARM targets, as in that case
object files are used directly and there is no actual linking step.

The commands can be added using the new add_llext_command() function.
An example usage of it, along with some target properties, is added to
the hello_world test case.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2024-04-08 09:04:32 +02:00
Fin Maaß e354927895 tests: use appropriate sys_randX_get()
use the appropriate sys_randX_get() instead
of always sys_rand32_get().

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-04-05 10:57:45 -05:00
Lauren Murphy 83ccc8e29b llext: add threads and kernel object test case
Tests threads and kernel objects with userspace. Includes cleanups
suggested by Luca Burelli.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2024-04-05 12:19:36 +02:00
Daniel Leung b9f66b26f8 tests: debug/coredump_backends: more space for qemu_x86
The reserved flash space for coredump is 4KB. However,
the dump_stack itself is larger than 4KB due to kernel stack
size adjustment. So enlarge the space for another page.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-03-27 19:27:10 -04:00
Ederson de Souza df916387f1 tests/subsys/llext: Add syscall tests
Check if syscalls can be accessed from both kernel and userspace, and if
optimised away ones indeed point to NULL.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2024-03-26 19:31:56 -04:00
Dominik Ermel d52a7ef31a tests: subsys: settings: Increase stack size
Fixes #62324

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-03-26 17:34:25 -04:00
Sylvio Alves 93d005fc87 samples: hwmv2: rename espxx_luatos_core files
This board has variant model "usb" and is currently missing
hwmv2 changes.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2024-03-25 18:40:34 -04:00
Jonathon Penix 3723493f60 tests: coredump: Disable optimizations to prevent unexpected failures
debug.coredump.logging_backend is currently failing for most of the targets
I have tried when building with clang. Depending on the target, func_3
invokes undefined behavior by dereferencing addr (which is NULL) which
can lead to the compiler optimizing out significant portions of the code,
resulting in unexpected/incorrect failures.

Here, clang seems to inline func_3 into main then marks the inlined
implementation as unreachable (due to the UB) and removes it and everything
after it in main. So, we fall through to whatever code lies past main,
resulting in a test failure (timeout) from what I've seen. GCC seems to do
similar things, but creates an invalid opcode instruction so the test still
succeeds.

clang is correct in both optimizing this behavior out and leaving
buggy code behind, so disable optimizations for func_3 to keep things under
control and prevent the incorrect failures.

Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
2024-03-23 19:04:06 -04:00
Jonathon Penix a28d5df5c6 tests: coredump: Change additional boards to directly call k_panic()
The riscv_virtual, hifive_unleashed, and hifive_unmatched boards all
timeout on this test if they actually perform the null dereference when
they are simulated. Whether the null dereference happens seems to depend
on the compiler used as well as whether optimizations are enabled though.

To make this more consistent, handle these boards in the same way as others
which use Renode simulation and have them directly call k_panic().

Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
2024-03-23 19:04:06 -04:00