Commit Graph

623 Commits

Author SHA1 Message Date
Spoorthi K
ff0857df25 tests: threads: Add test to verify delayed thread abort
As k_thread_cancel() is deprecated, we need to test if delayed thread
which is in wait queue can be cancelled from k_thread_abort().

Signed-off-by: Spoorthi K <spoorthi.k@intel.com>
2018-04-30 06:55:46 -04:00
Anas Nashif
b4cb101427 tests: mem_prot: skip unsupported tests
If a test is not supported on some platform, skip it and report SKIP.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-26 13:01:45 +05:30
Adithya Baglody
7753bc5065 tests: kernel: mem_protect: tests for userspace mode.
The testcases presented here will test the following functionality
1. Inheritance of permission from parent thread to child.
2. Memory domain implementation.
3. Access permission for k objects.

The combinations of these test cases will cover some of the basic
usecases of the userspace mode.
These test cases are meant to be executed by any board with has
CONFIG_USERSPACE enabled.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2018-04-25 14:44:31 -07:00
Anas Nashif
7a5ff13703 tests: allow unsupported tests to be skipped
Instead of completely excluding those tests, mark them as skipped and
provide an noop function that marks the test as skipped where test is
not supported.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
910a569ea7 tests: stackprot: move to ztest
Move test to use ztest instead of freestyle.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
1609f251ee tests: kernel: style, tag, and category fixes
Fix coding style, test tags and use categories.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Andrew Boie
31bdfc014e userspace: add support for dynamic kernel objects
A red-black tree is maintained containing the metadata for all
dynamically created kernel objects, which are allocated out of the
system heap.

Currently, k_object_alloc() and k_object_free() are supervisor-only.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2018-04-24 12:27:54 -07:00
Andy Ross
3f55dafebc kernel: Deprecate k_thread_cancel() API
The only difference between this call and k_thread_abort() (beyond
some minor performance deltas) is that "cancel" will act as a noop in
cases where the thread has begun execution and will return an error.
"Abort" always succeeds, of course.  That is inherently racy when used
as a "stop the thread" API: there's no way in general (or at all in
SMP situations) to know that you're calling this function "early
enough" to catch the thread before it starts.

Effectively, all k_thread_cancel() gives you that k_thread_abort()
doesn't is an indication about whether or not a thread has started.
There are many other ways to get that information that don't require
dangerous kernel APIs.

Deprecate this function.  Zephyr's own code never used it except for
its own unit test.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2018-04-24 03:57:20 +05:30
Diego Sueiro
140daa2f27 sanitycheck: add min_flash option for 32K devices
Following tests were failing on a microcontroller with 32KB flash:
    test-mbedtls
    kernel.common

The min_flash option has been added in the test case yaml files.

Signed-off-by: Diego Sueiro <diego.sueiro@gmail.com>
2018-04-21 06:57:38 -07:00
Wayne Ren
1931f1242b tests: fix arc related codes
code fixes for arc architecture

Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
2018-04-17 10:50:12 -07:00
Leandro Pereira
1f45f79d61 tests: mempool: Add overflow checks
Test for overflow in k_malloc() and k_calloc().

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-04-12 14:27:24 -07:00
Rajavardhan Gundi
3c8b3875c6 tests: kernel: threads: Additional tests for set_priority
Added some additional tests for setting priority of threads.

Signed-off-by: Rajavardhan Gundi <rajavardhan.gundi@intel.com>
2018-04-12 14:21:43 -04:00
Anas Nashif
d7e7b08cdc tests: cleanup meta-data of various tests
Use sensible test name and cleanup filtering.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-09 22:55:20 -04:00
Anas Nashif
390a2c4c4e tests: classify tests
Give test names that follow <component>.<subcomponent>.
Also, improve tags.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-09 22:55:20 -04:00
Anas Nashif
fca15b49de tests: xip: cleanup test
Consolidate source files and cleanup testcase.yaml

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-09 22:55:20 -04:00
Anas Nashif
e73a95bd64 tests: kernel: use a consistent test suite name
Lots of tests use different ways for naming tests, make this consistent
across all tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-09 22:55:20 -04:00
Anas Nashif
5d569eac7f tests: rename test -> main.c
Use main.c across the board and move away from custom test naming.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-09 22:55:20 -04:00
Anas Nashif
86bb19ac7d tests: mutex: rename main test function
For consistency sake and for better reporting.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-09 22:55:20 -04:00
Anas Nashif
88c16923e7 tests: context: use ztest macros
Use ztest whereever possible instead of conditional checking.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-09 22:55:20 -04:00
Anas Nashif
f8502690e1 tests: context: rename main test
Use test_ for tests to be consistent with other tests and make parsing
easier.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-09 22:55:20 -04:00
Punit Vara
4fc2ccbdab test: mbox_usage: add legacy test case for mailbox
Add different scenario for mailbox testing

Signed-off-by: Punit Vara <punit.vara@intel.com>
2018-04-09 09:11:44 -04:00
Ioannis Glaropoulos
316ffff6f2 tests: kernel: fix irq_vector_table test for nRF52X platforms
This commit disables Bluetooth and adds a customized vector
table for nRF52X-based platforms in the irq_vector_table kernel
test, in order to prevent UsageFault during system timer
interrupts, and, therefore, let the test execute properly.

This commit fixes #6890.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2018-04-08 08:47:36 -04:00
Ioannis Glaropoulos
9e4bbcc937 tests: kernel: add Cortex-M33/M7 in list of MCUs
Add Cortex-M33 and Cortex-M7 in the list of supported
ARM MCUs for the arm_irq_vector_table test.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2018-04-08 08:47:36 -04:00
Andrew Boie
95f1432275 sys_mem_pool: add test case
This is loosely based on the existing mheap_api_concept test
case.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2018-04-05 07:03:05 -07:00
Andrew Boie
e3076a4717 tests: add tag for memory pool tests
There are four of them, make it simpler to run just these tests in
sanitycheck.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2018-04-05 07:03:05 -07:00
Punit Vara
fab8c27880 tests: lifo: Add lifo test with scenario
Add different scenario for testing LIFO.

Signed-off-by: Punit Vara <punit.vara@intel.com>
2018-04-05 08:24:06 -04:00
Spoorthi K
d155e88624 tests: stack_random: Add Ztest support
Add Ztest support for stack randomization test case.Ztest support for
stack randomization test case.

Signed-off-by: Spoorthi K <spoorthi.k@intel.com>
2018-04-05 08:07:43 -04:00
Youvedeep Singh
188c1ab5ca kernel: msg_q: Add routine to fetch basic attrs from message queue.
For posix layer implementation of message queue, we need to fetch
basic attributes of message queue. Currently this routine is not
present in Zephyr. So adding this routing into message queue.

Signed-off-by: Youvedeep Singh <youvedeep.singh@intel.com>
2018-04-03 15:30:44 -04:00
Inaky Perez-Gonzalez
5e7a104e7b tests/kernel/gen_isr_table: fix mispelled 'kerne'
There is a typo in the area description of the testcase (kerne.XYZ vs
kernel.XYZ).

Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
2018-03-30 07:56:46 -04:00
Spoorthi K
f37507604d tests: kernel: mem_protect: Update platform whitelist
Remove arduino_101 from platform whitelist in testcase.yaml as all the
test cases are not meant to run on Arduino_101.

Signed-off-by: Spoorthi K <spoorthi.k@intel.com>
2018-03-26 14:24:34 -04:00
Adithya Baglody
093b8b9a6a tests: kernel: semaphore: Added tests for semaphore.
The following test cases have been added for semaphore.

1. Test simple semaphore give/take from an isr.
2. Test simple semaphore give/take from a task.
3. Test semaphore take with no wait.
4. Test semaphore take with no wait and fails.
5. Test semaphore take with timeout and fails.
6. Test semaphore take with timeout.
7. Test semaphore take with timeout as forever
8. Test semaphore take with timeout from an isr.
9. Test semaphore take on multiple threads.
10. Test semaphore give/take from an isr.
11. Test semaphore multiple threads wait on a semaphore.
12. Test semaphore measure timeouts.
13. Test semaphore measure timeout when give is from another thread.
14. Test semaphore multiple sem take and timeouts.
15. Test semaphore multiple sem take with diff timeout & semaphore.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2018-03-23 08:04:26 -04:00
Praful Swarnakar
d55387e56f tests: crypto: rand32: move rand32 test out of kernel
This test validates random number generator APIs that
is not related to kernel and should not be part of
kernel tests.

Signed-off-by: Praful Swarnakar <praful.swarnakar@intel.com>
2018-03-23 07:29:18 -04:00
Spoorthi K
e1f0a3e1ef tests: kernel: Add test to verify k_thread_start()
The test validates the behavior of calling k_thread_start()
    of thread which is already started. The thread has to start
    execution only when its state is _THREAD_PRESTART.

Signed-off-by: Spoorthi K <spoorthi.k@intel.com>
2018-03-22 08:15:33 -04:00
Savinay Dharmappa
04d2abb118 tests: kernel: alert: Add testcases
Add testcases for following scenario

Test to check alert_recv(timeout) against the following cases

1. The current task times out while waiting for the event.
2. There is already an event waiting (signalled from a task).
3. The current task must wait on the event until it is signalled
   from either another task or an ISR

Test to check alert_recv(K_FOREVER) against the following cases:

1. There is already an event waiting (signalled from a task and ISR).
2. The current task must wait on the event until it is signalled
   from either another task or an ISR

Test to checks that the event handler is set up properly when
alert_event_handler_set() is called.  It shows that event handlers
are tied to the specified event and that the return value from the
handler affects whether the event wakes a task waiting upon that
event

Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
2018-03-21 15:39:10 -04:00
Ramakrishna Pallala
a2e1341592 tests: kernel: Add fifo timeout scenario tests
Add k_fifo kernel object timeout scenario tests like basic
k_fifo API tests with timeouts and tests which involve other
threads to get/put items from/into k_fifo with timeouts.

This test is inspired from test_stack legacy test from
Zephyr v1.7.0 release.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2018-03-20 12:39:30 -04:00
Ramakrishna Pallala
f112b3eee1 tests: kernel: Add fifo usage scenario tests
Add k_fifo kernel object usage scenario tests between thread
to thread and thread to ISR.

This test is inspired from test_fifo legacy test from
Zephyr v1.7.0 release.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2018-03-20 12:39:30 -04:00
Punit Vara
fcf942afce tests: msgq_api: Improve scenario testing
Pend multiple thread to wait for writing on msgq.

Signed-off-by: Punit Vara <punit.vara@intel.com>
2018-03-20 12:13:27 -04:00
Adithya Baglody
c7553acdef tests: kernel: pipe_api: Run test with userspace enabled.
Previously qemu_x86 was the only device to run this test in
userspace. With this patch, the pipe testcases can now
run on any device which has userspace enabed.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2018-03-19 18:18:00 -04:00
Adithya Baglody
84fed56236 tests: kernel: pipe: Added new test cases for pipe.
The following are the test cases added for pipe.
1. Test pipe APIs on single data element.
2. Test pipe APIs on multiple data elements.
3. Test pipe APIs with forever wait.
4. Test pipe APIs with timeout.
5. Test pipe APIs on an empty pipe.
6. Test pipe get API with forever timeout.
7. Test pipe get API with limited timeout.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2018-03-19 18:17:35 -04:00
Spoorthi K
bdfa021772 tests: kernel: Test for essential thread set/clear
The test verifies the API functionality of _thread_essential_clear(),
    _thread_essential_set() and _is_thread_essential()

Signed-off-by: Spoorthi K <spoorthi.k@intel.com>
2018-03-18 09:35:29 -07:00
Andrew Boie
83752c1cfe kernel: introduce initial stack randomization
This is a component of address space layout randomization that we can
implement even though we have a physical address space.

Support for upward-growing stacks omitted for now, it's not done
currently on any of our current or planned architectures.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2018-03-16 16:25:22 -07:00
Adithya Baglody
11f7d17444 tests: mbox: mbox_api: Disable execution on RAM constrained devices.
SRAM size is very small and so we cant fit the test-suite inside.
Hence disabling the execution on boards with very small RAM region.
Example: quark_d2000 & nucleo f030

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2018-03-16 08:22:29 -07:00
Adithya Baglody
e20abd55fa tests: mbox: mbox_api: Added new test cases.
Added new test cases to increase the impact of the test cases.
The following are the brief description of the testcases:
1. Incorrect receiver address.
2. Incorrect transmit address.
3. Mbox_get timeout occurs when not able to retrive a msg.
4. Discard a msg by passing an invalid pool id.
5. Msg id mismatch between the receiver and transmitter.
6. Copy tx buffer to a new block in the pool.
7. Copy a big tx buffer to a block in the pool but no block
   can fit it.
8. Dispose a msg as soon as it is read.
9. Free tx pool when we read the msg.
10. A Asynchronous put unblocks a waiting get.
11. A Asynchronous put sends a wrong address to a waiting get.
12. Multiple Asynchronous put populates the msg_q and mbox_get
    retrives it.
13. Multiple waiting mbox_get and each put unblocks it one at a time.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2018-03-16 08:22:29 -07:00
Adithya Baglody
cbd1c184ee tests: mbox: mbox_api: Added required kconfigs to test obj tracing
Some parts of the code were not being executed because of the kconfig.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2018-03-16 08:22:29 -07:00
Praful Swarnakar
7f28edcaeb tests/kernel/common: Random32 test update for entropy subsystem
Modified the testcase for comparing the successive random
numbers generated by sys_rand32_get(). Also, added new configs
for verifying different sources of random number generation.

Signed-off-by: Praful Swarnakar <praful.swarnakar@intel.com>
2018-03-16 06:02:11 -07:00
Kumar Gala
924e8aad12 tests: arm_runtime_nmi: Make test build on v8m
The ICSR[NMIPENDSET] bit got renamed to ICSR[PENDNMISET] in the v8m
architecture.  So we map SCB_ICSR_PENDNMISET_Msk to
SCB_ICSR_NMIPENDSET_Msk to the tests builds and functions.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-03-13 10:02:59 -05:00
Savinay Dharmappa
02347f9c6f tests: kernel: work_q: Add testcases
Add a testcase where single work is submitted to
multiple queue. In this case handler invoked only
once as single work cannot be submitted to multiple
queue.

Add a test case which submit a work to a queue twice. This testcase
is added to test neagtive case when  k_delayed_work_cancel() fails
in k_delayed_work_submit_to_queue API

Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
2018-03-13 07:55:41 -07:00
Rajavardhan Gundi
a06cc42d29 tests: kernel: timers: Added a test to check periodicity
Added a test to check for the predictability with which
the timer expires depending on the period configured.

Signed-off-by: Rajavardhan Gundi <rajavardhan.gundi@intel.com>
2018-03-10 21:32:02 -05:00
Ramakrishna Pallala
e2a1682c57 tests: kernel: Add stack usage scenario tests
Add stack object usage scenario tests between thread
to thread and thread to ISR.

This test is inspired from test_stack legacy test from
Zephyr v1.7.0 release.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
2018-03-10 12:24:15 -05:00
Rajavardhan Gundi
813e9633ef init: verify boot_delay
Introduce a test to verify the boot_delay portion
of the code in init.c.

Signed-off-by: Rajavardhan Gundi <rajavardhan.gundi@intel.com>
2018-03-10 08:44:39 -05:00