Commit Graph

7165 Commits

Author SHA1 Message Date
Anas Nashif
b4d28a8186 Revert "tests: logging: Add stress test"
This reverts commit 12f9b4b31c.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-02-22 00:29:17 -05:00
Krzysztof Chruscinski
12f9b4b31c tests: logging: Add stress test
Add stress test for logging to validate that logging is coherent:
All message are processed by the logger or dropped and no message
is lost.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-02-21 22:19:00 -05:00
Ederson de Souza
78aa71228b tests: Run test_build only on platforms whose console has a driver
Otherwise XCC (based on GCC 4.2) will complain at log related undefined
symbols, that won't be generated as CONFIG_STDOUT_CONSOLE=n will be
forced.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2022-02-21 22:17:27 -05:00
Ederson de Souza
d1cdeab851 tests: Define mbox device
XCC (based on GCC 4.2) will emit undefined references to symbols that
are not used. Newer versions of GCC simply don't emit them, but for XCC,
linker will complain about those undefined references.

This patch adds a dummy definition of the mbox devices used on tests, so
that the linker is happy.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2022-02-21 22:17:27 -05:00
Gerard Marull-Paretas
5314690c3b drivers: ieee802154: mcr20a: define as DT device
The device already has a DT compatible (and uses DT properties).
Instantiate the device using the DT-based macros and remove hardcoded
name.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-02-21 22:16:10 -05:00
Chen Peng1
b3c4b90a21 tests: skip kernel_timer_interrupts when CONFIG_TICKLESS_KERNEL=n.
Skip kernel_timer_interrupts when CONFIG_TICKLESS_KERNEL
is disabled, because timer won't generate interrupts
anymore after invoking irq_disable and irq_enable
to enable timer interrupt again in TICK mode.

Signed-off-by: Chen Peng1 <peng1.chen@intel.com>
2022-02-21 22:13:54 -05:00
Pavel Vasilyev
6bbc1c8e62 tests: Bluetooth: Mesh: Test secure network beacons processing
Add tests checking that:
- invalid beacons are dropped and do not affect beacon interval;
- valid beacons with old Net Keys are either processed or dropped
depending on the Key Refresh phase;

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2022-02-21 22:10:24 -05:00
Andy Ross
59d5dc4dcf tests/kernel/common: Add nested irq_offload() test
Add a very simple test of the CONFIG_IRQ_OFFSET_NESTED feature that
exercises nested interrupts in a portable way.  It calls irq_offset()
from within a k_timer callback and validates that the return lands
back in the original interrupt successfully.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2022-02-21 22:10:03 -05:00
Asbjørn Sæbø
34de2af394 Bluetooth: audio - remove BT_AUDIO_DEBUG
Remove the BT_AUDIO_DEBUG Kconfig option.

Given that all the audio modules are guarded by the BT_AUDIO config,
it seems excessive to also have a separate guard for audio module
debug. It is sufficient that this is turned on/off module by module.

Note that the BT_AUDIO_DEBUG was also located in the wrong file - the
babs Kconfig file, not the main Kconfig file.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
2022-02-21 22:03:04 -05:00
Carlo Caione
18ffcdcf74 linker: Introduce zephyr,memory-region compatible
Introduce a new "zephyr,memory-region" compatible to be used when a new
memory region must be created in the linker script from the devicetree
nodes using the compatible.

Remove also the LINKER_DT_REGION_FROM_NODE macro and add a new
LINKER_DT_REGIONS macro to cycle through all the compatible regions.

In the same PR modify the DTS files and the linker scripts.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-02-21 22:02:04 -05:00
Anas Nashif
6e8383c6ed tests: message_capture: do not exclude intel_adsp_cavs15
No reason to exclude this platform, we only have been using wrong
logging defaults (which was set in the soc) and not printing log
messages which is required by the test.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-02-21 21:57:40 -05:00
Daniel Leung
587cd95de1 tests: counter_seconds: filter for PC compatible boards for x86
This adds a filter to only enable the CMOS test on PC compatible
x86 boards, as CMOS RTC is usually not present on embedded
applications.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-02-21 21:56:32 -05:00
Daniel Leung
e510dba95e tests: x86/info: only tests PC compatible platforms
This adds a filter to only tests platforms that has
CONFIG_X86_PC_COMPATIBLE enabled. ACPI, multiboot and
CMOS RTC are usually all present on PC compatible and
not embedded ones. So limit the scope here.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-02-21 21:56:32 -05:00
Mahesh Mahadevan
7e4d8c9cd5 tests: skip arch_nop test for ARM platforms
ARM does not guarantee the timing effects of NOP
instruction. Hence skip the test_nop test.
Fix for Issue#42666

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2022-02-21 21:54:53 -05:00
Tim Lin
058e217401 ITE: test: drivers/adc: fix the ADC resolution
The ADC resolution of it8xxx2 should be 10.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2022-02-21 21:01:43 -05:00
Carlo Caione
c5894df5ec pm: Change parameters of pm_power_state_{set,exit_post_ops}
Just pass state and substate_id instead of the whole info structure
pointer.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-02-21 20:58:01 -05:00
Carlo Caione
11f1dd2370 pm: Reference pm_state_info only by pointer
It's unnecessary to move the pm_state_info around by value, just use a
pointer.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-02-21 20:58:01 -05:00
Sebastian Bøe
5e63f8fbce samples: rename user-tls.conf to user-tls-conf.h
user-tls.conf is a header file and should therefore have the suffix
.h.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2022-02-21 20:55:20 -05:00
Eduardo Montoya
a0093eeda0 net: openthread: fix handling tx done to report all kind of errors
Fix bug in radio implementation that reported any transmit error
as `OT_ERROR_NO_ACK` to OpenThread.

Signed-off-by: Eduardo Montoya <eduardo.montoya@nordicsemi.no>
2022-02-21 20:49:20 -05:00
Katsuhiro Suzuki
feaf0070fc boards: riscv: hifive_unleashed: add GPIO support
This patch adds GPIO and 96board LS (Low Speed)iexpansion  connector
support for SiFive HiFive Unleashed and also enables GPIO basic test.

Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
2022-02-21 20:46:47 -05:00
David Leach
fdea2a628b tests: mem_protect: ensure allocated objects are initialized
K_OBJ_MSGQ, K_OBJ_PIPE, and K_OBJ_STACK objects have pointers
to additional memory that can be allocated. The k_obj_alloc()
returns these objects as uninitialized so when they are freed
there are random opportunities for freeing invalid memory
and causing random faults.

Signed-off-by: David Leach <david.leach@nxp.com>
2022-02-21 20:43:47 -05:00
David Leach
a0737e687c tests: mem_protect: avoid allocating K_OBJ_MSGQ in userspace.
The K_OBJ_MSGQ object is unitialized so when the thread cleanup occurs
after an expected fault for invalid access the test case can randomly
fault again because the cleanup of the thread will sometimes attempt
to free invalid buffer_start pointer in the msgq object.

Fixes #42705

Signed-off-by: David Leach <david.leach@nxp.com>
2022-02-21 20:43:47 -05:00
Krzysztof Chruscinski
df9b8721e2 logging: Prevent multiple arguments evaluation
Logging v2 is utilizing complex preprocessing operations to
prepare message at compile time. Multiple operations are peformed
on log message arguments. However, it is expected that argument
will be evaluated only once (e.g. it can be a call to a function
with side effects). Adding additional layer which creates copies
of user arguments on stack and passes them to further processing.

Updated test for log_msg2 which is using internal macro which
got renamed.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-02-21 20:41:17 -05:00
Krzysztof Chruscinski
9ea5c1e510 tests: lib: mpsc_pbuf: Add test for utilization api
Add test for mpsc_pbuf_get_utilization and
mpsc_pbuf_get_max_utilization.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-02-21 20:41:17 -05:00
Andries Kruithof
dcddfb567f bluetooth: controller: llcp: expand cen and per
The abbreviations cen and per may be confusing, so they are
expanded into central and peripheral

Signed-off-by: Andries Kruithof <Andries.Kruithof@nordicsemi.no>
2022-02-21 19:43:10 -05:00
Andries Kruithof
2f98f8f7cf Bluetooth: controller: llcp: inclusive naming in unittests
There were some references to slave and master left in the unittests
for the refactored LLCP.
These are changed in respectively peripheral and central

Signed-off-by: Andries Kruithof <Andries.Kruithof@nordicsemi.no>
2022-02-21 19:43:10 -05:00
Andrei-Edward Popa
34d921b00b tests: drivers: i2c: slave: added Raspberry Pi Pico board
added Raspberry Pi Pico for testing it as I2C slave

Signed-off-by: Andrei-Edward Popa <andrei_edward.popa@upb.ro>
2022-02-21 19:42:07 -05:00
Herman Berget
4c980233af Bluetooth: Host: Add L2CAP collision mitigation test
Tests that when a collision happens, the connection attempt is retried
and that it succeeds.

Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
2022-02-21 19:40:42 -05:00
Ederson de Souza
863ffbf1b7 tests and samples: Don't build some C++ tests under XCC
XCC (based on GCC 4.2) doesn't support C++11, and can't build those
tests. So exclude them from twister.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2022-02-21 19:37:54 -05:00
Ederson de Souza
6e8338a5b6 tests/crypto: Don't build tinycrypt tests under XCC
XCC (based on GCC 4.2) doesn't support some asm constraints used by
tinycrypt, so let's not test tinycrypt under XCC.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2022-02-21 19:37:54 -05:00
Anas Nashif
73d8a8d8ef tests: ringbuffer: increase timeout
Increae timeout from 90 to 150 to make it pass on more slow boards.

Fixes #42756

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-02-15 13:26:08 -05:00
Johann Fischer
ca6f24d36f tests: modbus: correct test fixture description
Correct test fixture description for FRDM-K64F board.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2022-02-15 18:56:36 +01:00
Nicolas Pitre
a1ce2fb990 tests: lifo_usage: make it less susceptible to SMP races
On SMP, and especially using qemu on a busy system, it is possible for
a thread with a later timeout to get ahead of another one with an
earlier timeout. The tight timeout value difference (10ms) makes it
possible albeit difficult to reproduce. The result is something like:

|START - test_timeout_threads_pend_on_lifo
| thread (q order: 2, t/o: 0, lifo 0x4001d350)
|
|    Assertion failed at main.c:140:
|test_multiple_threads_pending: (data->timeout_order not equal to ii)
| *** thread 2 woke up, expected 1

Let's make timeout values 10 times larger to make this unlikely race
even less likely.

While at it... The timeout field in struct timeout_order_data is some ms
value and not a number of ticks, so change the type accordingly.
And leverage k_cyc_to_ms_floor32() to simplify computation in
is_timeout_in_range().

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2022-02-14 09:32:03 -05:00
Xabier Marquiegui
52be66919e net: gptp: convert clock sync ratio from float to double
Using clock sync ratio as double instead of float improves
synchronization smoothness

Signed-off-by: Xabier Marquiegui <xmarquiegui@ainguraiiot.com>
2022-02-11 10:03:05 -06:00
Yuval Peress
d733153fe6 tests: settings: Update test project structures
Update the structure to reduce redundancies with additional config
files needed for native_posix platforms that replicate most of the
same config values.

Signed-off-by: Yuval Peress <peress@google.com>
2022-02-11 09:47:57 -05:00
Yuval Peress
7f90587e7e test: settings: functional: fix missing test_main
The functional tests for settings subsystem regressed with the
introduction of the weak test_main function. This was caused by
Issue #19582 since the common code was being linked as a library.

Update the logic of the common code to directly add the sources
to the `app` target. This resolved both Issue #19582 and #42396

Signed-off-by: Yuval Peress <peress@google.com>
2022-02-11 09:47:57 -05:00
Yuval Peress
7b1a56f40f tests: settings: Remove invalid config
Tests running on native_posix and native_posix_64 are selecting
CONFIG_STDOUT_CONSOLE, but this config value depends on
!NATIVE_APPLICATION. This configuration causes the CI to fail.

Signed-off-by: Yuval Peress <peress@google.com>
2022-02-11 09:47:57 -05:00
Christopher Friedt
ec0d878019 tests: pthread: cond: check return from pthread_cond_wait()
The expectation is that this call succeeeds in order for
the test to pass.

Signed-off-by: Christopher Friedt <chrisfriedt@gmail.com>
2022-02-09 22:16:45 -05:00
Johann Fischer
906274e94e tests: modbus: add test fixture
Test fixture is required for the test on FRDM-K64F board.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2022-02-09 22:11:16 -05:00
Maureen Helm
27afc77a4b Revert "tests: logging: log_api: Add test for argument evaluation"
This reverts commit f647201bbd.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-02-08 17:02:48 -05:00
Maureen Helm
f60f034c07 Revert "logging: Prevent multiple arguments evaluation"
This reverts commit 3f56567b08 which
caused build failures with the XCC toolchain on all samples and tests,
as well as a runtime failure with the nrf52_bsim board on
tests/bluetooth/bsim_bt/bsim_test_mesh.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-02-08 17:02:48 -05:00
Krzysztof Chruscinski
21867fd4d0 tests: logging: Update test after adding rodata detection on sparc
Updated tests to tread sparc as any other platforms that are
capable of detection if string is read only.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-02-08 09:41:37 -05:00
Daniel Leung
771c177909 tests: k_heap_api: make alloc pending tests a bit more robust
Both alloc_pending tests requires the main thread to utilize
the heap so that child threads must pend on memory allocations.
However, the previous implementation was not SMP friendly where
the child threads could run and succeeded in memory allocation
on other CPUs while the main thread continued to allocate
memory. The main thread would fail to allocate memory if
the child thread (on other CPU) has not freed the memory yet.
Not to mention that, in this scenario, the child thread was not
pending on memory allocation which defeated the purpose of
the test. So to fix this, make sure the main thread allocates
enough memory so future allocations must go into pending.
Also, check that the child thread cannot allocation memory
when first entered so it is actually going into pending.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-02-08 07:34:48 -05:00
Krzysztof Chruscinski
f647201bbd tests: logging: log_api: Add test for argument evaluation
Added test which checks that log argument is evaluated only
once when log message is created.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-02-08 07:32:43 -05:00
Krzysztof Chruscinski
3f56567b08 logging: Prevent multiple arguments evaluation
Logging v2 is utilizing complex preprocessing operations to
prepare message at compile time. Multiple operations are peformed
on log message arguments. However, it is expected that argument
will be evaluated only once (e.g. it can be a call to a function
with side effects). Adding additional layer which creates copies
of user arguments on stack and passes them to further processing.

Updated test for log_msg2 which is using internal macro which
got renamed.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-02-08 07:32:43 -05:00
Maureen Helm
124747d146 tests: build_all: Add net tag to the modem driver test
The modem driver test enables the networking stack, and some boards like
intel_adsp.* use this tag exclude networking tests.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-02-08 07:26:45 -05:00
Francois Ramu
2b8df6b160 tests: drivers: flash running on disco stm32 board with qspi
Restore the testcase to run on the qspi nor-flash controller
of the disco_l475_iot1 board
of the disco stm32f746 board

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-02-08 07:03:12 -05:00
Anas Nashif
ca565118ea tests: settings: provide correct test prototypes
More issues with missing prototypes.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-02-07 12:39:42 -05:00
Anas Nashif
6b3cde2289 tests: settings: provide correct test prototypes
Add prototypes for renamed test functions. Issue was introduced in
677ffc883a.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-02-07 10:48:18 -05:00
Piotr Golyzniak
677ffc883a tests: settings: fix wrong test case names
Change test case names to proper one, which start from "test_"
characters.

Signed-off-by: Piotr Golyzniak <piotr.golyzniak@nordicsemi.no>
2022-02-07 09:29:09 -05:00