RTEMS 6.3
Loading...
Searching...
No Matches

This test case collection provides validation test cases for requirements of the Task Manager. More...

Files

file  testsuites/validation/tc-task.c

Data Structures

struct  TaskIterateContext

Functions

 T_TEST_CASE (RtemsTaskValTask)

Detailed Description

This test case collection provides validation test cases for requirements of the Task Manager.

This test case performs the following actions:

  • Call rtems_task_self() check the returned value.
    • Check that the returned value is equal to the object identifier of the calling task.
  • Call rtems_task_iterate() with a visitor which always returns false.
    • Check that the all counter is equal to the count of tasks. Check that the calling task was visited exacly once. Firstly, this shows that rtems_task_iterate() used the parameters specified by visitor and arg. Secondly, this shows that the iteration was done over all tasks.
    • Check that the object alloctor mutex was not owned before and after the call. Check that the object alloctor mutex was owned during the iteration.
  • Call rtems_task_iterate() with a visitor which returns true.
    • Check that the all counter is equal to one. This shows that the iteration stops when the visitor returns true.
  • Assert that RTEMS_TASK_STORAGE_ALIGNMENT is a constant expression which evaluates to the expected value.
  • Assert that RTEMS_NO_PRIORITY is a constant expression which evaluates to the expected value.
  • Assert that RTEMS_MINIMUM_STACK_SIZE is a constant expression which evaluates to the expected value.
  • Assert that RTEMS_CONFIGURED_MINIMUM_STACK_SIZE is a constant expression which evaluates to the expected value.
  • Assert that RTEMS_MINIMUM_PRIORITY is a constant expression which evaluates to the expected value.
  • Validate RTEMS_SELF using a sample directive call.
  • Validate the home scheduler of tasks created by rtems_task_create() and constructed by rtems_task_construct().
    • Create a task. Check that the home scheduler of the created task is scheduler A.
    • Construct a task. Check that the home scheduler of the constructed task is scheduler A.