Commit Graph

1893 Commits

Author SHA1 Message Date
Christopher Friedt
213ad01ed0 tests: kernel: disable one test for qemu_cortex_a9
Currently a test is failing.

```
twister -i -p qemu_cortex_a9 \
  -s tests/kernel/fatal/exception/kernel.common.stack_sentinel
```

Disable those temporarily until a fix is in place.

Signed-off-by: Christopher Friedt <chrisfriedt@gmail.com>
2021-11-01 22:10:04 -04:00
Lixin Guo
a13b907398 tests: mslab: add test case for coverage
Add test case to test thread pending operation
in k_mem_slab_alloc() API.

Signed-off-by: Lixin Guo <lixinx.guo@intel.com>
2021-11-01 11:17:09 -04:00
Lixin Guo
4b9b30c99d tests: msgq: improve code coverage for msgq API
This improves code coverage for the branch whether
write pointer in message queue reaches buffer end.

Signed-off-by: Lixin Guo <lixinx.guo@intel.com>
2021-11-01 11:15:15 -04:00
Lixin Guo
7fb38330f6 tests: queue: add a test case for coverage
Add a test case for k_queue_unique_append() API.

Signed-off-by: Lixin Guo <lixinx.guo@intel.com>
2021-10-28 12:06:25 -04:00
Lixin Guo
5b9c6264af tests: userspace: add a test for code coverage
Add a test case for getting all the kernel objects in
kobject list.

Signed-off-by: Lixin Guo <lixinx.guo@intel.com>
2021-10-28 12:01:01 -04:00
Immo Birnbaum
52a5c08325 tests: enable kernel test fatal/exception for aarch32 Cortex-A CPUs
Add consideration of aarch32 Cortex-A CPUs to a test case in which
architecture-specific assembly instructions are used in order to
explicitly trigger an exception. This test case already considers
aarch32 Cortex-R CPUs, the same instruction will be used by
Cortex-A CPUs.

Signed-off-by: Immo Birnbaum <Immo.Birnbaum@Weidmueller.com>
2021-10-28 15:26:50 +02:00
Lixin Guo
2643e8d62d tests: mutex: fix improper test identifier
The test identifier of mutex error case in testcase.yaml is
exactly the same as mutex api's test identifier.
So I fix this.

Signed-off-by: Lixin Guo <lixinx.guo@intel.com>
2021-10-20 10:19:18 -04:00
Peter Mitsis
10637afc00 tests: add event test code
Adds both kernel and user space test code for the events API.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2021-10-16 06:27:10 -04:00
Lixin Guo
fb18038e55 tests: stack: fix improper assert message
I find that there has a description error and a spelling
mistake in assert message. So I fixed this.

Signed-off-by: Lixin Guo <lixinx.guo@intel.com>
2021-10-13 06:17:23 -04:00
Lixin Guo
d460a6361d Test: stack: add a test case for code coverage
Add a testcase for stack_alloc_init API.

Signed-off-by: Lixin Guo <lixinx.guo@intel.com>
2021-10-13 06:17:02 -04:00
Keith Short
0bfde7bc5d tests: Add PM control to dummy_driver
Add the pm_control fn to the dummy_driver so the full PM API is tested.
This change also bypasses all PM APIs if the device driver doesn't
support PM.

Signed-off-by: Keith Short <keithshort@google.com>
2021-10-13 06:16:13 -04:00
Carlo Caione
43cb00df08 multi_heap: Introduce shared multi-heap memory pool manager
The shared multi-heap memory pool manager uses the multi-heap allocator
to manage a set of reserved memory regions with different capabilities /
attributes (cacheable, non-cacheable, etc...) defined in the DT.

The user can request allocation from the shared pool specifying the
capability / attribute of interest for the memory (cacheable /
non-cacheable memory, etc...)

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-10-12 07:44:46 -04:00
Flavio Ceolin
5027c356cd test: pm: device: Fix build options
The test is using device and device runtime power management. Just
including them to the test build.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-10-07 15:44:32 -04:00
Andy Ross
13d3036e37 tests/msgq_usage: Correct memory usage for cache-incoherent platforms
When CONFIG_KERNEL_COHERENCE=y (e.g on the various intel_adsp
platforms under SMP) it's not legal to share stack memory between
CPUs, because the stack is cached, and the L1 cache is incoherent.
The kernel will automatically detect the mistake when the memory
contains a kernel object (spinlock, IPC object, etc...).  But here the
test was just passing async buffers into the msgq layer, and nothing
watches that.

The fix is simple: make them static.

Fixes #35857

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-10-06 17:40:53 -04:00
Andy Ross
f3ed0feb47 tests/kernel/mheap_api_concept: Add sys_multi_heap test
Add a simple coverage test for the multi_heap utility, validating all
cases with a simple configuration value that specifies an index in an
array of heaps.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-10-01 20:38:35 -04:00
Alexandre Bourdiol
25432ecfa4 tests: kernel: sched: schedule_api: enlarge timeslice criterion
From time to time, measured slice time is one less/more than requested.
Fixes #35793

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2021-09-30 20:39:31 -04:00
Lixin Guo
a5a360d319 Tests: memory protect: add some error test cases
Add some error case for adding and removing memory partition
API.

Signed-off-by: Lixin Guo <lixinx.guo@intel.com>
2021-09-29 06:29:19 -04:00
Andy Ross
0f20abda8d tests/kernel/threads_apis: Add case for CPU_MASK_PIN_ONLY
Add testing for the PIN_ONLY API variant (which has a separate run
queue per CPU).  Predicate on SMP systems only, to keep needless
duplicate testing to a minimum.

Note that one of the cases in this test exercises an "all cpus" option
for the cpu mask, which is illegal when CONFIG_SCHED_CPU_MASK_PIN_ONLY
is set.  Skip.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-09-28 20:15:05 -04:00
Yuguo Zou
5b590faab5 tests: threads: fix kernel/thread_stack test
Fix the broken logic in the kernel/thread_stack test
The modified test should do direct read & write from estimated stack
pointer to highest address in the stack buffer.
Previously this test was start from lowest address in the stack
which would trigger exception of hardware stack checking scheme
violation on ARC boards and other targets with hardware stack
overflow detection.

Signed-off-by: Yuguo Zou <yuguo.zou@synopsys.com>
2021-09-27 12:25:12 -04:00
Naiyuan Tian
1f99a0ca18 tests: threads: fix uninitialized scalar variable
In the file variable val is not initialized,
causing the variable stack_ptr, pos, points to uninitialized data.
Initialize the variable val according to the code and commits.

Fixes #37916

Signed-off-by: Naiyuan Tian <naiyuan.tian@intel.com>
2021-09-17 22:30:50 -04:00
NingX Zhao
ca4c71ca02 tests: thread: Add an initialization
Add an initialization to the global variable to make sure testcases
can be ran correctly.

Signed-off-by: NingX Zhao <ningx.zhao@intel.com>
2021-09-17 10:30:54 -04:00
Chen Peng1
0774ce94ed tests: mem_map: limit memory below 0x10000000 on up_squared.
there is a memory hole from address 0x10000000-0x12150fff
in the ram on up_squared, we don't have access to read/write
this range, so limit the memory range below 0x10000000.

Signed-off-by: Chen Peng1 <peng1.chen@intel.com>
2021-09-16 09:32:36 -04:00
Francois Ramu
30db452aec tests: kernel: timer api with real time slot in test_sleep_abs
This patch is testing the test_sleep_abs with a longer
real time slot value. The reason is that for platforms
like stm32wb55rg with PM, the real time slot must be adjusted
because of the LPTIM ticker.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-09-10 16:20:30 -04:00
Enjia Mai
495d10234d tests: common: add test for ffs function
Add a testcase for find_msb_set() and find_lsb_set() functions.

Signed-off-by: Enjia Mai <enjiax.mai@intel.com>
2021-09-07 11:30:43 -04:00
Nicolas Pitre
5a384b9ea8 lib/os/cbprintf_nano.c: avoid sign extension on unsigned formats
There might be a sign extension when a long is promoted to
int_value_type and the former type is smaller than the later.
This produces the wrong output if the specified format is unsigned.

Let's avoid this problem by handling signed and unsigned cases
explicitly. When the type already matches int_value_type then the
compiler is smart enough to recognize the redundancy and removes
unneeded duplications automatically, meaning that the code will stay
small when code size matters.

A similar issue also existed in the restricted %llu case.
The fix is the same as above.

Those fixes exposed wrong results in the printk.c test with %llx
so fix that as well.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2021-09-02 19:37:06 -04:00