# Test osKernelRunning()
 - Test osKernelRunning() with running kernel : PASS
# Test osKernelSysTick()
 - Test osKernelSysTick() : PASS
 - Test osKernelSysTick() difference : PASS
 - Test osKernelSysTick() is going up : PASS
# Test osThreadCreate() / osThreadTerminate() / osThreadGetId()
 - Test osThreadCreate() : PASS
 - Test osThreadGetId() : PASS
 - Test osThreadTerminate() : PASS
 - Test osThreadTerminate() cannot be called on terminated thread : PASS
# osDelay()
# Test osKernelSysTick() / osDelay()
 - Test osDelay() : PASS
 - Test osKernelSysTick() : PASS
 - Test systick is going up : PASS
 - Test expected systick difference : PASS
Test osTimerCreate() / osTimerStart() / osTimerStop() / osTimerDelete(): osTimerOnce
 - Test osTimerCreate() : PASS
 - Test the timer has not started yet : PASS
 - Test the timer has not ticked yet : PASS
 - Test osTimerStart() : PASS
 - Test the timer has only ticked one : PASS
 - Test osTimerDelete() : PASS
 - Test osTimerDelete() cannot be called twice : PASS
Test osTimerCreate() / osTimerStart() / osTimerStop() / osTimerDelete(): osTimerPeriodic
 - Test osTimerCreate() : PASS
 - Test the timer has not started yet : PASS
 - Test osTimerStart() : PASS
 - Test the timer function has been called more than 10 times : PASS
 - Test the timer function has been called more less than 12 times : PASS
 - Test osTimerDelete() : PASS
 - Test osTimerDelete() cannot be called twice : PASS
# Test osThreadSetPriority() / osThreadGetPriority()
 - Test expected priority : PASS
 - Test osThreadSetPriority() : PASS
 - Test osThreadSetPriority() with invalid priority 'osPriorityRealtime + 1' : PASS
 - Test osThreadSetPriority() with invalid priority 'osPriorityIdle - 1' : PASS
 - Test expected priority after changing it : PASS
 - Test osThreadTerminate() : PASS
# Test osSignalSet() / osSignalClear() / osSignalWait()
 - Test osSignalClear() : PASS
 - Test osSignalWait() : PASS
 - Test osSignalWait() with timeout : PASS
 - Test osSignalClear() returns the previous signal flags : PASS
# Test osMutexCreate() / osMutexWait() / osMutexRelease() / osMutexDelete()
 - Test osMutexCreate() : PASS
 - Test osMutexWait() to get mutex : PASS
 - Test osMutexWait() when mutex has already be taken : PASS
 - Test osMutexRelease() : PASS
 - Test osMutexWait() after mutex has been released : PASS
 - Test osMutexRelease() : PASS
 - Test task completed : PASS
 - Test osThreadTerminate() : PASS
 - Test osMutexWait() (2) : PASS
 - Test osMutexDelete() : PASS
 - Test osMutexDelete() when the mutex has already been deleted : PASS
# Test osSemaphoreCreate() / osSemaphoreWait() / osSemaphoreRelease() / osSemaphoreDelete()
 - Test osSemaphoreCreate() : PASS
 - Test osSemaphoreWait() (1) : PASS
 - Test osSemaphoreWait() (2) : PASS
 - Test osSemaphoreWait() (3) : PASS
 - Test osSemaphoreWait() when out of resource : PASS
 - Test osSemaphoreRelease() (1) : PASS
 - Test osSemaphoreRelease() (2) : PASS
 - Test osSemaphoreRelease() (3) : PASS
 - Test osSemaphoreRelease() when there is no semaphore to release : PASS
 - Test osSemaphoreDelete() : PASS
 - Test osSemaphoreDelete() when semaphore has already been deleted : PASS
# osPoolCreate() / osPoolAlloc() / osPoolCAlloc() / osPoolFree()
 - Test osPoolCreate() : PASS
 - Test osPoolAlloc() (1) : PASS
 - Test osPoolAlloc() (2) : PASS
 - Test osPoolAlloc() (3) : PASS
 - Test osPoolFree() : PASS
 - Test osPoolCAlloc() : PASS
 - Test osPoolCAlloc() set the memory to zero : PASS
 - Test osPoolAlloc() when there is no resource available : PASS
# osMessageCreate() / osMessagePut() / osMessageGet()
 - Test osMessageCreate() : PASS
 - Test osMessageGet() when there is no message : PASS
 - Test osMessagePut() : PASS
 - Test osMessageGet() : PASS
 - Test osMessageGet() returned value : PASS
 - Test osMessagePut() (1) : PASS
 - Test osMessagePut() (2) : PASS
 - Test osMessagePut() (3) : PASS
 - Test osMessagePut() when there is no space : PASS
# Test osMailCreate() / osMailAlloc() / osMailCAlloc() / osMailPut() / osMailGet() / osMailFree()
 - Test osMailCreate() : PASS
 - Test osMailGet() when there is no message : PASS
 - Test osMailPut() with NULL message : PASS
 - Test osMailPut() with invalid address : PASS
 - Test osMailAlloc() (1) : PASS
 - Test osMailPut() (1) : PASS
 - Test osMailAlloc() (2) : PASS
 - Test osMailPut() (2) : PASS
 - Test osMailAlloc() (3) : PASS
 - Test osMailPut() (3) : PASS
 - Test osMailAlloc() when out of resource : PASS
 - Test osMailPut() when out of resource : PASS
 - Test osMailFree() with message which has not been removed from the mailbox (status != osOK) : FAIL
 - Test osMailGet() : PASS
 - Test osMailFree() (status == osOK) : FAIL
 - Test osMailFree() with message already freed : PASS
=> Test completed - pass:89 fail:2