Commit Graph

852 Commits

Author SHA1 Message Date
Bjarki Arge Andreasen
4403d8f4c6 tests: lib: devicetree: api: Add tests for IRQ_INTC_* macros
Extend api test suite to cover the new devicetree macros. This
includes extending the devicetree overlay with two new bindings:

- GPIO device which is also an interrupt controller
- interrupt holder using interrupts-extended to point to both
  existing interrupt controller test_intc, and the newly added
  GPIO device

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-17 13:18:00 +01:00
Jonathan Hamberg
9c1a45cc00 posix: Fix name collision with __bswap
__bswap_ in zephyr/sys/byteorder.h conflicts with __bswap_ in host's
byteswap.h. byteswap.h from host compiler used in posix_native_64 boards
causes a compilation issue.

This commit renames __bswap_ to BSWAP_ to prevent collision.

Before this commit a compilation error can be created by adding #include
<byteswap.h> to samples/net/sockets/echo/src/socket_echo.c

This does not change external API to byteorder.h, but does change
internal implementation which some other source files depend on.

Replaced manual byteswap operations in devmem_service.c with APIs from
byteorder.h which automatically converts to CPU endianess when necessary.

Fixes #44324

Signed-off-by: Jonathan Hamberg <jonathanhamberg@gmail.com>
2024-01-10 18:13:44 +00:00
Bartosz Bilas
fcb9f41259 boards: xtensa: add Kincony KC868-A32 module suppport
Add support for the KC868-A32 ESP32 home automation relay module.

Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
2024-01-08 14:21:30 +01:00
Krzysztof Chruściński
b46d961abf tests: lib: cbprintf_package: Add test case for cbprintf_convert
Add test case for converting statically generated package which
contains RO and RW indexes. Converting shall append RW string
and discard RO index.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2023-12-28 12:18:50 +00:00
Anas Nashif
2b43582236 tests: add a tag for nano libc tests
tag nano libc tests with nano so we can exclude them if needed. Now they
cause issues when collecting coverage information from tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-21 09:18:44 +01:00
Andrei Emeltchenko
0223fe897f tests: lib: acpi: Convert to FFF
Convert fake functions to FFF.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-19 11:04:19 +01:00
Andrei Emeltchenko
751f871b20 tests: acpi: Add unit test for ACPI table parsing
Initial unit test for ACPI table parsing.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-19 11:04:19 +01:00
Andrei Emeltchenko
abbbc43be8 tests: acpi: Rename acpi to integration test
Rename test to integration and allow to include unit tests for ACPI.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-12-19 11:04:19 +01:00
Ryan McClelland
9804c60a4e tests: lib: c_lib: fix double promotion error
Fix double promotion warnings

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-12-18 09:21:12 +00:00
Anas Nashif
740d0c3b50 lib: heap: make multi-heap feature configurable
Make multi-heap configurable via Kconfig and adapt existing tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
2e24e9da9e tests: shared_multi_heap: fix identifier
Adapt identifier and be consistent with other heap tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
11365fc4f8 tests: move shared_multi_heap to tests/lib
Move shared_multi_heap test under lib alongside all other heap tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
44381f957a tests: multi_heap: adapt test identifiers
Change identifier to match with other heap related tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
dd2dcbed54 tests: move mheap_api_concept into tests/lib/multi_heap
Move multi-heap tests out of kernel folder along side all other heap
related tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Anas Nashif
d6d716b32a lib: heap: build heap utilities only on demand
Build the heap features only when needed and based on Kconfigs being
set.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-13 17:27:54 -05:00
Martin Åberg
0d0b17095d tests: c_lib: Enable sqrt tests in non-FPU configurations
This enables the sqrt() and sqrtf() tests also in case of soft-float
configurations. It is expected that the tests will link, run and pass
also in such configuration.

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2023-12-05 10:47:18 -05:00
Martí Bolívar
b1532ce449 devicetree: remove label property accessors
These were first deprecated in v3.2. We have kept support for them
for as long as we can, but now their presence is causing CI failures
in some configurations. Specifically, using the deprecated 'label'
property is causing a warning which is promoted to an error in some
twister runs. This is blocking other forward progress in the
devicetree API.

I tried to rework the tests to avoid this, but it was too much effort
for the time I had to work on the task. Removing the APIs is therefore
unfortunately the best way forward to unblocking other work.

Re-work the test suite a bit to maintain coverage where we are using
the label property to test other macros.

Add a migration guide section to help with the transition.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-12-01 13:09:56 -08:00
Alberto Escolar Piedras
1a3ba0ec82 tests/lib/*: Switch integration platform to native_sim
Swith integration_platforms from native_posix(_64)
to native_sim(_64).

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
6db47c70fa tests/lib/heap: Minor fix in a comment
That comment applies to all posix arch based boards,
not just native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
12bf3bae0f tests/lib/c_lib/common: Do not skip part of test for all posix boards
It is not just native_posix that supports the sqrt test,
but all posix arch based ones.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Alberto Escolar Piedras
f591d0a54d tests/lib/cmsis_dsp: Switch integration_platform to native_sim
Switch integration_platform from native_posix to native_sim

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Aastha Grover
283a9ef959 tests: cpp: Exclude cpp2B testcase for xt-clang toolchain
c++2B standard is not supported for xt clang compiler so
exclude cpp2B testcase for xt-clang toolchain.

Signed-off-by: Aastha Grover <aastha.grover@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-30 10:07:00 +01:00
Peter Mitsis
77abd6f89d tests: Allow thrd test to run on xtensa
On some SMP platforms (such as intel_adsp_ace15_mtpm) it is not
safe to access the stack of a thread that is currently executing
on another CPU. This requires that tests be written such that
objects and data that are shared between threads that may execute
concurrently on different CPUs be placed into memory that is not
a thread's stack.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-11-28 14:46:15 -05:00
Alberto Escolar Piedras
fd095c36b9 tests/lib/gui/lvgl: Enable for native_sim
Enable this test which runs in native_posix_64 in
native_sim(_64), and set default test platform
to native_sim.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
70e0d1e04e tests/lib/devicetree: Enable for native_sim
Enable these tests which run in native_posix in native_sim,
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Alberto Escolar Piedras
18c71868a5 tests/lib/mpsc_pbuf: Switch to native_sim
Enable this test which runs in native_posix in native_sim,
Switch from native_posix to native_sim as default test platform

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-27 16:06:42 +00:00
Christopher Friedt
2fc19aa033 tests: lib: c_lib: tests for C11 call_once()
Add tests for C11 call_once().

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
44a431bbba tests: lib: c_lib: tests for C11 thread-specific storage
Add tests for C11 thread-specific storage.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
70b03111eb tests: lib: c_lib: tests for C11 condition variables
Add tests for C11 condition variables.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
0c2da383d3 tests: lib: c_lib: add tests for C11 mutexes
Add tests to cover C11 mutexes

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
ded97fd5b3 tests: libc: add tests for iso c11 threads
Add tests to verify functionality of the C11 `<threads.h>` API.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Christopher Friedt
dd27dff492 tests: lib: c_lib: separate libc tests into smaller suites
C library testing is mainly there to support what is
necessary to support Zephyr. We do test a variety of libcs
currently, which is where YAML comes in handy.

However, the main libc testsuite can be overkill for testing
some things, and might not be suitable for testing optional
features.

Create a 'common' subdirectory for common libc tests.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-14 18:23:42 +09:00
Maximilian Deubel
386b658008 boards: arm: add nrf9131ek_nrf9131
This patch adds the nRF9131-EK board.

Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
2023-11-08 10:06:03 +01:00
Keith Packard
6d38ecae1d tests/c_lib: Test picolibc module configurations
Make sure the picolibc module builds and runs in both TLS
and non-TLS variants.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-11-07 09:42:19 +01:00
Johan Hedberg
149b00f70c acpi: Fix acpi_get_irq_routing_table() rt_size parameter meaning
The acpi_get_irq_routing_table() takes a pointer to an array of
ACPI_PCI_ROUTING_TABLE elements rather than a generic buffer pointer
(e.g. void *).

Because of the above, it makes sense to specify the array size as an
actual ARRAY_SIZE() value, since it makes no sense to accept buffers
which are not a multiple of sizeof(ACPI_PCI_ROUTING_TABLE) long.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-06 12:32:31 +01:00
Moritz Fischer
016a113eb5 boards: xtensa: Add support for Lolin S2 Mini
Add support for LOLIN S2 Mini board, a cheap board
also sold as Wemos S2 Mini.

Signed-off-by: Moritz Fischer <moritzf@google.com>
2023-11-06 10:12:36 +01:00
Johan Hedberg
caf299ca23 boards: x86: Indicate ACPI support where applicable
There are several x86 boards that support ACPI, so indicate it in their
yaml files.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-02 14:04:07 +00:00
Johan Hedberg
a77871b2e5 tests: Add ACPI test application
Add basic ACPI test application. Initially there are only tests for one
ACPI table (MCFG) and fetching the ACPI PRT, but this is already a good
start for caching regressions on the supported boards.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2023-11-02 14:04:07 +00:00
Yong Cong Sin
1782011d2c tests: devicetree: api: add tests for new DT APIs
Add tests for new DT APIs added in the previous commit:
- `DT_IRQN_BY_IDX`
- `DT_INST_IRQN_BY_IDX`

Added additional tests for the following existing DT APIs when
`CONFIG_MULTI_LEVEL_INTERRUPTS` is enabled:
- `DT_IRQN`
- `DT_INST_IRQN`

Added `qemu_riscv32` for the multi-level interrupt tests.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2023-10-30 11:43:39 -04:00
Benedikt Schmidt
aa25e212d1 tests: fix thread function signatures
Fix thread function signatures to avoid stack corruption on thread exit.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2023-10-30 12:24:34 +01:00
Keith Packard
51fee43122 tests/c_lib: Run tests on native/posix targets
With a few minor adjustments, these tests now run fine on native
targets.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-26 10:06:35 -04:00
Keith Packard
8780bd2b70 test/c_lib: Make sure time_t is at least 64-bits
Check to ensure that the C library doesn't have obvious 2038 issues.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-26 10:06:35 -04:00
Keith Packard
83db6ee7f5 test/c_lib: Skip strerror invalid input test for EXTERNAL_LIBC
Passing an invalid errno value to strerror is undefined behavior in
POSIX. While all Zephyr-specific C libraries may be required to return a
specific value, we can't hold an external C library to that standard.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-26 10:06:35 -04:00
Keith Packard
e4681a0634 test/c_lib: Don't fail to compile tests with 32-bit time_t
The native library may use a 32-bit time_t, so we need to avoid
having the compiler generate an error during compilation.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-26 10:06:35 -04:00
Keith Packard
dfd584204c test/c_lib: Skip 'abort' test for EXTERNAL_LIBC
The native C library abort function isn't trapped within Zephyr.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-26 10:06:35 -04:00
Keith Packard
8283f8ca09 test/c_lib: Skip 'exit' test for EXTERNAL_LIBC
The native C library exit function does not do what we want.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-26 10:06:35 -04:00
Alberto Escolar Piedras
b3de643206 tests cmsis_dsp filtering: Do not run filtering.misc.fpu on mps3_an547
Merging 565c9376f1
exposed an issue in this test, which causes an assert in the
mps3_an547.
For more information check
https://github.com/zephyrproject-rtos/zephyr/issues/64387

The issue needs further analysis.
With this platform being an integration
platform for this test, it gets triggered in CI by unrelated
PRs, causing CI failures and blocking development.

As an interim measure, to unblock development in the main branch,
let's exclude this platform from this test.

This commit should be reverted once the underlaying issue is
indentified and addressed.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-26 13:52:23 +02:00
Alberto Escolar Piedras
c83c8df26a tests/lib/time: Fix for posix architecture
* Select always PICOLIBC. This is anyhow the default for all
  but the posix architecture. And for the posix architecture
  we need it as POSIX_CLOCK does not work with the host C
  library.
* Fix the testcase filtering. This sample works fine
  in native_sim (when not using the host libC),
  but does not work for native_posix(_64), as those can
  only be built with the host libC, and in that case,
  the POSIX_CLOCK provided functions will not be properly
  linked to.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-25 09:58:07 +02:00
Keith Packard
565c9376f1 tests: Switch from NEWLIB_LIBC to REQUIRES_FULL_LIBC
Instead of forcing use of NEWLIB_LIBC, select any available complete C
library implementation. Add CONFIG_REQUIRES_FLOAT_PRINTF where needed.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-25 08:32:06 +02:00
Alberto Escolar Piedras
4060f1d390 tests newlib: Exclude in posix architecture
These tests cannot be run in this architecture as it does not
support this toolchain.
Today they are filtered by kconfig, which works but spends
time running cmake.
As native_posix is a default test platform it is better
to filter it alltogether by arch, which saves quite a lot
of time.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 09:05:29 +02:00