zephyr/tests/drivers/uart/uart_mix_fifo_poll
Anas Nashif ba7d730e9b tests/samples: use integration_plaforms in more tests/samples
integration_platforms help us control what get built/executed in CI and
for each PR submitted. They do not filter out platforms, instead they
just minimize the amount of builds/testing for a particular
tests/sample.
Tests still run on all supported platforms when not in integration mode.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-11-29 16:03:23 +01:00
..
boards
src ztest: remove the obsolete NULL appended to zassert macros 2022-09-09 07:05:38 -04:00
CMakeLists.txt
prj.conf tests: drivers: uart: move the uart mix tests to new ztest API 2022-09-08 15:25:52 +00:00
README.txt
testcase.yaml tests/samples: use integration_plaforms in more tests/samples 2022-11-29 16:03:23 +01:00

The purpose of this test is to validate that uart_poll_out call is resilient to
being interrupted by another uart API call. That includes uart_poll_out called
from higher priority context, uart_fifo_fill called from UART interrupt context
and uart_tx called from higher priority context. Preemptions shall not lead to
any bytes being dropped.

This test is establishing 3 context from which uart_poll_out is called:
- main thread
- higher priority thread
- k_timer timeout context

From each context stream of data is being sent. Bytes in streams are encoded as
following: 4 MSB bits contains stream ID, 4 LSB bits are incremented.

Test requires that two pairs of pins are shortened: TX with RX and CTS with RTS.
UART receives loopback data and validates if for each stream (identified by ID)
data is consistent.