Test specification for the NASA OSAL ChibiOS extension. Test suite for NASA OSAL implementation over ChibiOS/RT. The purpose of this suite is to perform unit tests on the OSAL module and to converge to 100% code coverage through successive improvements. Internal Tests Threads Functionality This sequence tests the NASA OSAL over ChibiOS/RT functionalities related to threading. OS_TaskCreate() errors Parameters checking in OS_TaskCreate() is tested. OS_TaskCreate() is invoked with task_id set to NULL, an error is expected. OS_TaskCreate() is invoked with task_name set to NULL, an error is expected. OS_TaskCreate() is invoked with stack_pointer set to NULL, an error is expected. OS_TaskCreate() is invoked with a very long task name, an error is expected. OS_TaskCreate() is invoked with priority below and above allowed range, an error is expected. OS_TaskCreate() is invoked with a stack size below minimum, an error is expected. OS_TaskCreate() is invoked twice with duplicated name and then duplicated stack, an error is expected in both cases. OS_TaskCreate() priority ordering Four tasks are created at different priorities and in different order. The execution order must happen in order of priority regardless the creation order. Four tasks are created in priority order from low to high. Tasks are made runnable atomically and their execution order tested. Four tasks are created in priority order from high to low. Tasks are made runnable atomically and their execution order tested. Four tasks are created in an not ordered way. Tasks are made runnable atomically and their execution order tested. OS_TaskDelete() errors Parameters checking in OS_TaskDelete() is tested. OS_TaskDelete() is invoked with task_id set to -1, an error is expected. OS_TaskDelete() and OS_TaskInstallDeleteHandler() functionality OS_TaskDelete() and OS_TaskInstallDeleteHandler() are tested for functionality.