Commit Graph

338 Commits

Author SHA1 Message Date
Jordan Yates
4c32e21fc7 tests: devicetree: test supported devices API
Add tests for the supported devices API.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2021-08-25 19:43:54 -04:00
Martí Bolívar
aa8fc3d7ff devicetree: add tests for devicetree/pinctrl.h macros
Test cases for new APIs.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-25 18:09:00 -04:00
Torsten Rasmussen
1cccc8a8fe cmake: increase minimal required version to 3.20.0
Move to CMake 3.20.0.

At the Toolchain WG it was decided to move to CMake 3.20.0.

The main reason for increasing CMake version is better toolchain
support.

Better toolchain support is added in the following CMake versions:
- armclang, CMake 3.15
- Intel oneAPI, CMake 3.20
- IAR, CMake 3.15 and 3.20

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-08-20 09:47:34 +02:00
Stephanos Ioannidis
3a4ea09780 tests: lib: cmsis_dsp: matrix: Run binary_q15 tests on mps2_an521
The CMSIS-DSP matrix binary_q15 tests should not be excluded on the
mps2_an521 board, which is one of the integration platforms.

This test was likely excluded because of the computation precision-
related failures; but, this failure is no longer observed, so there is
no reason to exclude it anymore.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-17 16:41:55 -05:00
Stephanos Ioannidis
142f90ae96 tests: lib: cmsis_dsp: transform: Enable FPU testing
This commit adds new testcases for the CMSIS-DSP transform test that
enable testing with hardware FPU.

Note that the common properties are relocated to each testcase because
the twister does not support specifying extra filter and tags.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-17 16:41:55 -05:00
Stephanos Ioannidis
a4750e5119 tests: lib: cmsis_dsp: svm: Enable FPU testing
This commit adds a new testcase for the CMSIS-DSP svm test that
enables testing with hardware FPU.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-17 16:41:55 -05:00
Stephanos Ioannidis
97597240bf tests: lib: cmsis_dsp: support: Enable FPU testing
This commit adds a new testcase for the CMSIS-DSP support test that
enables testing with hardware FPU.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-17 16:41:55 -05:00
Stephanos Ioannidis
cf1eec9dd0 tests: lib: cmsis_dsp: statistics: Enable FPU testing
This commit adds a new testcase for the CMSIS-DSP statistics test that
enables testing with hardware FPU.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-17 16:41:55 -05:00
Stephanos Ioannidis
0041ae5dc3 tests: lib: cmsis_dsp: matrix: Enable FPU testing
This commit adds new testcases for the CMSIS-DSP matrix test that
enable testing with hardware FPU.

Note that the common properties are relocated to each testcase because
the twister does not support specifying extra filters and tags.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-17 16:41:55 -05:00
Stephanos Ioannidis
d33f7b8e2a tests: lib: cmsis_dsp: filtering: Enable FPU testing
This commit adds new testcases for the CMSIS-DSP filtering test that
enable testing with hardware FPU.

Note that the common properties are relocated to each testcase because
the twister does not support specifying extra filters and tags.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-17 16:41:55 -05:00
Stephanos Ioannidis
7b48acba93 tests: lib: cmsis_dsp: fastmath: Enable FPU testing
This commit adds a new testcase for the CMSIS-DSP fastmath test that
enables testing with hardware FPU.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-17 16:41:55 -05:00
Stephanos Ioannidis
75641db2b8 tests: lib: cmsis_dsp: distance: Enable FPU testing
This commit adds a new testcase for the CMSIS-DSP distance test that
enables testing with hardware FPU.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-17 16:41:55 -05:00
Stephanos Ioannidis
324dffed0d tests: lib: cmsis_dsp: complexmath: Enable FPU testing
This commit adds a new testcase for the CMSIS-DSP complexmath test that
enables testing with hardware FPU.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-17 16:41:55 -05:00
Stephanos Ioannidis
f4a6886682 tests: lib: cmsis_dsp: bayes: Enable FPU testing
This commit adds a new testcase for the CMSIS-DSP bayes test that
enables testing with hardware FPU.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-17 16:41:55 -05:00
Stephanos Ioannidis
cd4b2cc664 tests: lib: cmsis_dsp: basicmath: Enable FPU testing
This commit adds a new testcase for the CMSIS-DSP basicmath test that
enables testing with hardware FPU.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-17 16:41:55 -05:00
Krzysztof Chruscinski
87e60fac2a tests: lib: ringbuffer: Add tests for preemption
Added test cases that validates if ring buffer handles
correctly case with single producer single consumer from
different contexts.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-08-17 19:52:08 +02:00
Michael Zimmermann
5e7ef8be5a json: fix parsing first array-array element
Previously, the first element inside the array-array didn't contain the
decoded data.

Signed-off-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
2021-08-16 15:11:20 -04:00
Kumar Gala
7b9fbcd3b7 devicetree: Fix DT_PROP/DT_PROP_BY_IDX for phandle(s)
DT_PROP for a phandle property should return the node that phandle
points to (similar for DT_PROP_BY_IDX for phandles)  and this wasn't
working as the define generator didn't create the proper defines for
phandle(s).

Fix the generator and add some tests to make sure this continues to
work correctly.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-08-12 19:01:38 -05:00
Stephanos Ioannidis
fb4325ea32 tests: newlib: thread_safety: Add internal lock and userspace tests
This commit adds the tests for the newlib retargetable locking
interface, as well as the tests for the internal lock functions that
are supposed to internally invoke the retargetable locking interface.

All of these tests must pass when the toolchain newlib is compiled with
the `retargetable-locking` and `multithread` options, which are
required to ensure that the newlib is thread-safe, enabled. If the
toolchain newlib is compiled with either of these options disabled,
this test will fail.

This commit also adds the userspace testcases to ensure that the newlib
is thread-safe in the user mode.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-09 08:51:24 -05:00
Stephanos Ioannidis
b37ee6998d tests: newlib: thread_safety: Fix test function scope
This commit adds the `static` keyword to the test functions that are
not intended to be globally available.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-09 08:51:24 -05:00
Martí Bolívar
56da140791 devicetree: add new for-each macros
Add two new for-each macros:

- DT_FOREACH_STATUS_OKAY(compat, fn)
- DT_FOREACH_STATUS_OKAY_VARGS(compat, fn, ...)

These can be used to expand "fn" once for every status "okay" node in
the devicetree which has a given compatible. The intended use case is
to allow doing something in C once for each node of a compatible,
but outside of a device driver.

E.g. an application might want to collect an array of structures for a
compatible, where each structure is initialized from a node.

In such cases we don't want people to be forced into using
DT_DRV_COMPAT and instance numbers, because that's in general a hint
that you're doing something driver-like.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-06 12:24:57 -05:00
Martí Bolívar
1c4aa60229 tests: devicetree: refactor some for-each tests
Split the generic tests for DT_INST_FOREACH_STATUS_OKAY() out of the
function which tests it as applied to device instantiation.

This is just moving code around as prep work for expanding on the set
of macros which are in for-each-node style.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-06 12:24:57 -05:00
Evgeniy Paltsev
1ffd1ea8fd test: lib/cbprintf_fp: fix test filtering
The commit
6fe9e408ab (tests/cbprintf_fp: Filter on CONSOLE_HAS_DRIVER)
added filtering on Kconfig symbol incorrectly - it checked
CONSOLE_HAS_DRIVER instead CONFIG_CONSOLE_HAS_DRIVER so
this test was filtered out (and therefore skipped) on all
platforms.

Fix that.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
2021-08-06 08:00:54 -05:00
Christopher Friedt
6cb1e22fd4 tests: lib: ringbuffer: ring_buf_peek() and ring_buf_size_get()
Added tests for ring_buf_size_get() and ring_buf_peek().

Fixes #37147

Signed-off-by: Christopher Friedt <chrisfriedt@gmail.com>
2021-07-28 07:32:28 -04:00
Krzysztof Chruscinski
1b27804ba3 tests: lib: cbprintf: Add tests for fsc package
Added tests for fully self-contained packages and use of
CBPRINTF_PACKAGE_ADD_STRING_IDXS flag.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-07-27 14:50:45 +02:00
Krzysztof Chruscinski
5d80cbae59 lib: os: cbprintf: Add support for conversion to fsc package
Added support for conversion from a standard package which contains
pointers to read only strings to fully self-contained (fsc) package.
Fsc package contains all strings associated with the package thus
access to read only strings is not needed to format a string.

In order to allow conversion to fsc package, standard package must
contain locations of all string pointers within the package. Appending
that information is optional and is controlled by flags parameter
which was added to packaging API. If option flag is set then
package contains header, arguments, locations of read only strings and
transient strings (each prefixed with string argument location).
Package header has been extended with field which contains number of
read only string locations.

A function for conversion to fsc package has been added
(cbprintf_fsc_package()).

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-07-27 14:50:45 +02:00
Yasushi SHOJI
7aa904a8fc tests: c_lib: Add tests for rand() and srand()
- simple tests for each function
 - a reproducibility test for rand with the same seed values

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2021-07-20 13:32:36 -04:00
Carlo Caione
f4db14f349 dts: Introduce DT_STRING_TOKEN and DT_STRING_UPPER_TOKEN
To be able to get a tokenize DT string without the quotes. Deprecate
also DT_ENUM_TOKEN and DT_ENUM_UPPER_TOKEN.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-07-15 18:12:51 -05:00
Krzysztof Chruscinski
60210a6191 tests: lib: mpsc_pbuf: Add test case for max packet allocation
Add test for validating max packet allocation.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-07-14 19:58:39 -04:00
Arvin Farahmand
d0b9c03154 devicetree: Add _VARGS variants to _FOREACH_ marcos
`_FOREACH_` macros do not allow the caller to pass additional arguments
to the `fn`. A series of `_VARGS` variants have been added that allow
the caller to pass arbitrary number of arguments to the `fn`:

```
DT_FOREACH_CHILD_VARGS
DT_FOREACH_CHILD_STATUS_OKAY_VARGS
DT_FOREACH_PROP_ELEM_VARGS
DT_INST_FOREACH_CHILD_VARGS
DT_INST_FOREACH_STATUS_OKAY_VARGS
DT_INST_FOREACH_PROP_ELEM_VARGS
```

Signed-off-by: Arvin Farahmand <arvinf@ip-logix.com>
2021-07-14 19:50:39 -04:00
Kumar Gala
37f3336121 tests: cleanup cbprintf tag usage
Add cbprintf tag were missing and change prf to cbprintf to be
consistent.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-06-24 12:38:57 -05:00
Yasushi SHOJI
c48ca2ad9f tests: lib: heap: Test solo free header
Add a test to check `sys_heap_validate()` works on a heap with solo
free header.

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2021-06-23 06:18:44 -04:00
Ioannis Glaropoulos
af75907152 boards: mps2_an521: separate board Kconfig options for the various targets
Introduce separate Kconfig options for the different
MPS2 AN521 targets.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-06-22 08:45:41 -04:00
Martí Bolívar
bb718ebe68 tests: devicetree: remove useless assert
There's no reason for this assert to be here; it should be removed.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-06-09 19:02:04 -05:00
Stephanos Ioannidis
c1849d10c3 tests: mem_alloc: Increase heap size for newlib nano test
This commit increases the heap size for the newlib nano test to 2048,
which is the recommended minimum required to ensure proper operation
(see #35799).

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-06-02 08:50:45 -05:00
Watson Zeng
fa41ec052d tests: mem_alloc: workaround aggressive optimization
As we don't use memory allocated in test_calloc, test_no_mem_malloc,
and test_no_mem_realloc. malloc call can be optimized away (that really
happens with ARC MWDT toolchain). That breaks the test. So disable
optimization for these functions.

Signed-off-by: Watson Zeng <zhiwei@synopsys.com>
2021-05-24 23:31:10 -04:00
Ying ming
4f8318f104 tests: libc: Update libc testcases to solve coverity issues
The coverity report "Out-of-bounds access". The reason is
The room of src and dest buffer is less than the count wanted
to be copyied. So enlarged the src and dest buffer to solve this
issue.

Fixes:#35345
Fixes:#35346

Signed-off-by: Ying ming <mingx.ying@intel.com>
2021-05-19 07:46:38 -05:00
Ying ming
8f823a07d3 tests: libc: Update character output testcases to solve coverity issues
1. Refine some testcases for testing some character output function.
2. Delete some negative testcases which will not invoke fatal error.

Fixes #33822
Fixes #33803
Fixes #33801
Fixes #33800
Fixes #33790

Signed-off-by: Ying ming <mingx.ying@intel.com>
2021-05-13 11:15:39 -04:00
Stephanos Ioannidis
6bc42ae309 tests: lib: Add newlib thread safety test
This commit adds a new test to verify the thread safety of the C
standard functions provided by newlib.

Only the memory management functions (malloc and free) are tested at
this time; this test will be further extended in the future, to verify
the thread safety and re-entrancy of all supported newlib functions.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-05-13 07:30:43 -05:00
Stephanos Ioannidis
09a85ff84b tests: lib: mem_alloc: Fix test names
This commit fixes the ambiguous test names used by the `mem_alloc`
test.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-05-12 23:33:21 -05:00
Ying ming
8e69dafccf tests: libc: Update libc testcases to solve coverity issues
1. Refine some testcases for testing some libc functions, include
strlen(),strcmp(),strncmp(),memcmp(),memstr(),memcpy(),memmove()
strtol(),strtoul().
2. Change some code to make the code style consistent.

Fixes #33794
Fixes #33810
Fixes #33806

Signed-off-by: Ying ming <mingx.ying@intel.com>
2021-05-11 20:33:43 -04:00
Anas Nashif
5343aed002 tests: fix testcase.yaml files
Puts all filter in common section and fix filters. Platforms in
integration_platforms must also be allowed first, otherwise the tests
will never run.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-05-07 09:39:08 -05:00
Krzysztof Chruscinski
41c8823250 tests: lib: cbprintf_package: Enable CONFIG_CBPRINTF_LIBC_SUBSTS
Enable option to use snprintfcb in the test.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-07 09:39:08 -05:00
Krzysztof Chruscinski
0bc3bee738 tests: lib: cbprintf_package: Add CBPRINTF_MUST_RUNTIME_PACKAGE test
Extended test to cover CBPRINTF_MUST_RUNTIME_PACKAGE macro.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-07 09:39:08 -05:00
Krzysztof Chruscinski
604c9ac231 tests: lib: cbprintf_package: Minor cleanup
Adding static to local functions. Using void * for %p argument
which often triggered compilation warning.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-07 09:39:08 -05:00
Kumar Gala
b579c12714 tests: devicetree: exclude hsdk platforms
The devicetree test will not link the hsdk platforms as
when CONFIG_GPIO=y this enable CONFIG_I2C as the board utilizes
a GPIO expander over I2C.  So we exclude building this test on
the hsdk platforms.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-05-06 17:33:58 -04:00
Paul Sokolovsky
39b0423e7a tests: lib: mem_alloc: Fix up conditions for "no_mem" testcases
These should run for minlibc configured with
CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE=0. In all other cases normal
testsuite should run.

How preprocessor #if's were put previously, some configurations,
e.g. prj_newlib.conf, had the testsuite completely skipped.

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2021-05-06 18:19:38 +02:00
Krzysztof Chruscinski
61a2e8cee3 tests: lib: cbprintf: Extended to test C++
Extended test suite to be run for C++

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-05-05 08:45:43 -04:00
Gerard Marull-Paretas
6aee84e747 tests: lib: devicetree: remove usage of device_pm_control_nop
device_pm_control_nop is now deprecated in favour of NULL.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-04-28 12:53:09 -04:00
Hou Zhiqiang
0700a24276 devicetree: Add DT_FOREACH_CHILD_STATUS_OKAY macro
The macro only iterates the enabled child nodes and invokes
provided macro for each node.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
2021-04-27 13:32:55 -04:00