Do these things:
- use the proper macros for reserving the SDU header
- make every L2CAP PDU fragment into 3 ACL packets
- set tx data and verify rx matches the pattern
- measure segment pool usage
Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
When there are no buffers, it doesn't make sense to repeatedly try to send
the host TX queue.
Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
The spin loop to ensure time goes past the timeout is done in terms
of the core clock, while the spin lock is timed on the system clock.
This difference is exasperated on systems where the core clock is much
faster than the system clock and the test failed. Add a significant
multiplier so the test works even when the system clock is much slower.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
MKFS testing inappropriately uses flash API in the FAT FS API test,
causing build errors for the test when testing file systems on storage
devices other than flash. Hotfix by making this part of the test
conditional on CONFIG_FLASH.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
There is already CONFIG_SETTINGS_FILE_PATH, which is set to full file path,
while CONFIG_SETTINGS_FILE_DIR is required to be set to its parent
directory. This is redundant, as parent directory path can be easily found
out either during runtime or optionally during buildtime by CMake.
CONFIG_SETTINGS_FILE_DIR was actually introduced recently after Zephyr 3.2
release as a replacement of deprecated CONFIG_SETTINGS_FS_DIR. This means,
that there is no need to deprecate it for 3.3 release and dropping it
should be fine. Adjust 3.3 release notes accordingly, so that
CONFIG_SETTINGS_FILE_PATH will be used directly.
This patch stops using deprecated CONFIG_SETTINGS_FS_DIR. There is actually
no value in respecting it, as setting anything other than parent directory
of CONFIG_SETTINGS_FS_FILE makes no sense.
There is actually one use of CONFIG_SETTINGS_FILE_DIR in file backend
tests, to derive directory for files containing tested settings.
CONFIG_SETTINGS_FILE_PATH is not used there, so it makes little sense to
derive directory name from it. Instead, just use hardcoded "/settings"
subdirectory, as this was the default value of CONFIG_SETTINGS_FILE_DIR.
Deriving parent directory can be done either in runtime or in
buildtime (e.g. using some helper CMake function). Doing it in runtime
however allows to create directory recursively (which this patch actually
implements), e.g. for some more nested FS tree structure. Additionally it
will simplify migration of settings configuration from Kconfig to
device-tree (yet to be developed feature).
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Variable to get MPS supported by the controller was used
uninitialized. This caused the test to fail depending on
the memory state.
test_udc_device_get has to be called only once, at the very
beginning. This was overlooked during migration to new test API.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Allow allow-cpp.libcxx.arcmwdtlib for all arc targets in case of
ARC MWDT toolchain.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
There is little point in keeping separate:
* tests/subsys/settings/file
* tests/subsys/settings/file_littlefs
directories, `file_littlefs` is just a thin layer used to setup test suites
for tests implemented in `file` directory.
Merge both directories together. Support for new FS can be added by simply
adding:
* new `settings_setup_<FS_OF_CHOICE>.c` which implements
`config_setup_fs()` function
* expanding `testcase.yaml` to add new tests with
`CONFIG_FILE_SYSTEM_<FS_OF_CHOICE>=y` extra config option
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Do some internal renaming to relax dependency on using LittleFS
specifically, making this test likely to be run on any FS.
Rename device-tree partition name `littlefs_dev` ->
`settings_file_partition`, so as does not need to be LittleFS to be
mounted and used for File settings storage.
Rename `config_setup_littlefs()` to `config_setup_fs()`, which can be
implemented for any other FS of choice.
Change FS mount point from '/littlefs' to '/fs'.
Rename `settings_test_littlefs.c` -> `settings_test_fs.c`, as this one just
defines test suites and there is nothing LittleFS specific.
Build `settings_setup_littlefs.c` only when
`CONFIG_FILE_SYSTEM_LITTLEFS=y`, so that any other FS can be added at a
later point with its specific implementation of `config_setup_fs()`
function.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Move `config_setup_littlefs()` prototype to header file, so that potential
type mismatch will be detected by both `settings_setup_littlefs.c`
implementing it and `settings_test_littlefs.c` using it.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Change the name of the STM32_CLOCK_BUS_APB2 RCC resgister
of the stm32g0 to STM32_CLOCK_BUS_APB1_2
in the testcase for the stm32g0 device.
Signed-off-by: Francois Ramu <francois.ramu@st.com>
Replaces ZCBOR_MAP_DECODE_KEY_VAL with ZCBOR_MAP_DECODE_KEY_DECODER
in test and adds equivalency test between
ZCBOR_MAP_DECODE_KEY_VAL and ZCBOR_MAP_DECODE_KEY_DECODER.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The SBS fuel gauge driver did not return a count of the number of
properties that failed.
Fix this and add a test that verifies the sbs_gauge returns the number of
failing properties as well as a test that verifies a negative return code
if all properties failed.
Signed-off-by: Aaron Massey <aaronmassey@google.com>
Zephyr already has a scheduling benchmark in tests/benchmarks/sched,
but it only uses kernel threads.
We add an userspace version of it, to exercise memory domains.
Signed-off-by: Henri Xavier <datacomos@huawei.com>
The Cadence I3C has no in-tree board with it to built with. This
adds a test build-only for the cadence i3c peripheral attaching
with the qemu_cortex_m3 board as that appears to be generic
enough.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
The zcbor_map_decode_bulk is able to decode embedded CBOR types
like maps in maps, but this has been missing proper tests.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Add board, project, and twister configuration for qemu_kvm_arm64 support
on ivshmem-plain test.
Signed-off-by: Rodrigo Cataldo <rodrigo.cataldo@huawei.com>
Co-authored-by: Henri Xavier <datacomos@huawei.com>
Add board, project, and twister configurations for QEMU ARM64 support for
ivshmem-plain test.
Signed-off-by: Rodrigo Cataldo <rodrigo.cataldo@huawei.com>
Co-authored-by: Henri Xavier <datacomos@huawei.com>
The ivshmem-plain test does not use MSI at all; remove the dependency
from the project configuration.
Signed-off-by: Rodrigo Cataldo <rodrigo.cataldo@huawei.com>
Co-authored-by: Henri Xavier <datacomos@huawei.com>
Move the existing ivshmem test to a folder that explicitly identifies
its target: ivshmem-plain. The existing test is not compatible with
ivshmem-doorbell.
ivshmem-doorbell has additional requirements compared to -plain
(ivshmem-server, notification handling), so it is reasonable that
another test is required for it. This commits prepares the way for the new
test.
No funcional change intended.
Signed-off-by: Rodrigo Cataldo <rodrigo.cataldo@huawei.com>
Co-authored-by: Henri Xavier <datacomos@huawei.com>
For making handle available in vendor sink creation, add ISO handle
to function prototype.
Expose datapath allocation via new ull_iso_datapath_alloc function.
Signed-off-by: Morten Priess <mtpr@oticon.com>
Specification states that: "Only one Client Characteristic Configuration
declaration shall exist in a characteristic definition." This was
wrongly understood as "Ony one CCC can exist in GATT Server". When we
add next characteristic `ccc_added` flag is cleared so next CC can be
added (for this characteristic).
Added array for CCC values so it's no longer shared between CCCs.
Signed-off-by: Krzysztof Kopyściński <krzysztof.kopyscinski@codecoup.pl>
This file was just built, but none of its functions were executed since the
commit 84a88f107c ("tests: subsys: settings: stream encoding tests"),
which introduced it.
At this point it makes little sense to make it run/working, mainly because
of:
* "line" encoding, which this module intends to test, behaves differently
based on Kconfig options like `bool SETTINGS_ENCODE_LEN`; this is set
differently based on (FCB/File) backend used, so it is hard to make this
"generic" tests work, because it is shared by all storage backends tests
* base64 encoding is expected in this test module, which was dropped 2
years ago in [1]
* settings subsystem has changed a lot during last 4 years, so those tests
might no longer be valid with current implementation.
[1] commit 55be783c85 ("settings: Remove deprecated SETTINGS_USE_BASE64
support")
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
This variable is just a copy-paste from FCB backend tests and actually has
no use in File backend tests.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
There are three settings handlers defined, but just the first
one (`c_test_handlers[0]`) is registered and used in NVS specific tests.
Remove unused handlers, as it is really a dead code.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Both functions are declared in `settings_test.h`, so there is no reason to
declare them locally as well.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Re-enable several mem_protect tests which were disabled due to
issues in ARC QEMU (which are fixed and fixes were propagated to
Zephyr SDK)
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
`spi_is_ready` function is being deprecated in favor of
`spi_is_ready_dt` so let's replace the old usage in the tree.
Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
Adds a missing menuconfig for the DSP library as well as fix an issue
with the zephyr library being a STATIC library and having no sources
in the case of the cmsis backend.
Signed-off-by: Yuval Peress <peress@google.com>
This feature is not used in most tests, as there is no logic in C code that
utilizes `#ifdef TEST_x` statement.
The only test that does that is `tests/subsys/settings/fcb/` where `#ifdef
TEST_LONG` is used, so leave that test case untouched.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
-- Corrected PDU time stamps to match expected reference anchor point
-- Corrected failing test_rx_unframed_dbl_split according to expected
time stamps.
Signed-off-by: Nirosharn Amarasinghe <niag@demant.com>
Adds support for the Adafruit ItsyBitsy nRF52840 Express.
This board ships with the UF2 bootloader, so the device has
been set up so that Zephyr applications are flashed the
same way that other (Adafruit) firmware is flashed with the
UF2 bootloader.
This has been tested locally, and the button, blinky and
led_apa102 samples run without problems.
Signed-off-by: Embla Flatlandsmo <embla.flatlandsmo@gmail.com>
Remove declarations of ZTEST() routines in header file, because there is
simply no value in having it.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Add support for setting the help description for each entry in a dictionary
command. Currently the syntax string alone may not provide sufficient
description of its entry. This commit also helps keep the help messages
consistent with existing style.
Signed-off-by: Xinyang Tan <xinyang.tan@delve.com>
Two simple fixes in zassert messages where one message has
been printing incorrect variable and other has been using
formatting to just print literal 0.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
... to avoid undesirable delays in waking up of the threads on
scheduled timeouts. In specific configurations such additional load
of the CPU can be even harmful to the test. This was observed for
nRF platforms where the UART_NRF_DK_SERIAL_WORKAROUND Kconfig option
was enabled.
All calls to TC_PRINT() in this test suite are replaced with calls to
LOG_DBG(), so the status messages are not printed by default, but they
can be enabled if needed by changing CONFIG_LOG_DEFAULT_LEVEL.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
In the message reporting the wrong order of woken up threads
(e.g. "thread 3 woke up, expected 2"), provide indexes of
the threads in the timeout order array, not their timeout
order values.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>