Skip to content

Commit 2f5b186

Browse files
authored
Add unit tests for kernel PR FreeRTOS#679 (FreeRTOS#1015)
Also, fix the broken tests by that PR. Signed-off-by: Gaurav Aggarwal <[email protected]>
1 parent 9e1c6e1 commit 2f5b186

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

FreeRTOS/Test/CMock/tasks/tasks_1_utest.c

+43
Original file line numberDiff line numberDiff line change
@@ -1721,6 +1721,29 @@ void test_eTaskGetState_success_current_tcb( void )
17211721
TEST_ASSERT_EQUAL( eRunning, ret_task_state );
17221722
}
17231723

1724+
void test_eTaskGetState_success_not_current_tcb_pending_ready( void )
1725+
{
1726+
TaskHandle_t task_handle;
1727+
1728+
create_task_priority = 3;
1729+
task_handle = create_task();
1730+
create_task_priority = 5;
1731+
create_task();
1732+
ptcb = ( TCB_t * ) task_handle;
1733+
TEST_ASSERT_NOT_EQUAL( pxCurrentTCB, ptcb );
1734+
eTaskState ret_task_state;
1735+
/* Expectations */
1736+
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xStateListItem,
1737+
NULL );
1738+
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,
1739+
&xPendingReadyList );
1740+
1741+
/* API Call */
1742+
ret_task_state = eTaskGetState( task_handle );
1743+
/* Validations */
1744+
TEST_ASSERT_EQUAL( eReady, ret_task_state );
1745+
}
1746+
17241747
void test_eTaskGetState_success_not_current_tcb_blocked_delayed( void )
17251748
{
17261749
TaskHandle_t task_handle;
@@ -1735,6 +1758,8 @@ void test_eTaskGetState_success_not_current_tcb_blocked_delayed( void )
17351758
/* Expectations */
17361759
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xStateListItem,
17371760
pxDelayedTaskList );
1761+
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,
1762+
NULL );
17381763

17391764
/* API Call */
17401765
ret_task_state = eTaskGetState( task_handle );
@@ -1756,6 +1781,8 @@ void test_eTaskGetState_success_not_current_tcb_blocked_overflow( void )
17561781
/* Expectations */
17571782
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xStateListItem,
17581783
pxOverflowDelayedTaskList );
1784+
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,
1785+
NULL );
17591786

17601787
/* API Call */
17611788
ret_task_state = eTaskGetState( task_handle );
@@ -1777,6 +1804,8 @@ void test_eTaskGetState_success_not_current_tcb_ready( void )
17771804
/* Expectations */
17781805
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xStateListItem,
17791806
&pxReadyTasksLists[ 0 ] );
1807+
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,
1808+
NULL );
17801809

17811810
/* API Call */
17821811
ret_task_state = eTaskGetState( task_handle );
@@ -1800,6 +1829,8 @@ void test_eTaskGetState_success_not_current_tcb_suspended( void )
18001829
&xSuspendedTaskList );
18011830
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,
18021831
NULL );
1832+
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,
1833+
NULL );
18031834

18041835
/* API Call */
18051836
ret_task_state = eTaskGetState( task_handle );
@@ -1821,6 +1852,8 @@ void test_eTaskGetState_success_not_current_tcb_deleted( void )
18211852
/* Expectations */
18221853
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xStateListItem,
18231854
&xTasksWaitingTermination );
1855+
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,
1856+
NULL );
18241857

18251858
/* API Call */
18261859
ret_task_state = eTaskGetState( task_handle );
@@ -1842,6 +1875,9 @@ void test_eTaskGetState_success_not_current_tcb_deleted_not_found( void )
18421875
/* Expectations */
18431876
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xStateListItem,
18441877
NULL );
1878+
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,
1879+
NULL );
1880+
18451881
/* API Call */
18461882
ret_task_state = eTaskGetState( task_handle );
18471883
/* Validations */
@@ -1870,6 +1906,8 @@ void test_eTaskGetState_success_not_current_tcb_wait_notif( void )
18701906
&xSuspendedTaskList );
18711907
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,
18721908
NULL );
1909+
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,
1910+
NULL );
18731911

18741912
/* API Call */
18751913
ret_task_state = eTaskGetState( task_handle );
@@ -1893,6 +1931,8 @@ void test_eTaskGetState_success_not_current_tcb_blocked( void )
18931931
&xSuspendedTaskList );
18941932
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,
18951933
&xSuspendedTaskList );
1934+
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,
1935+
&xSuspendedTaskList );
18961936
/* API Call */
18971937
ret_task_state = eTaskGetState( task_handle );
18981938
/* Validations */
@@ -3101,6 +3141,7 @@ void test_xTaskAbortDelay_success( void )
31013141
/* eTaskGetState */
31023142
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xStateListItem,
31033143
pxDelayedTaskList );
3144+
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem, NULL );
31043145
/* back */
31053146
uxListRemove_ExpectAndReturn( &tcb->xStateListItem, pdTRUE );
31063147
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem, NULL );
@@ -3147,6 +3188,8 @@ void test_xTaskAbortDelay_success_notdelayed( void )
31473188
/* eTaskGetState */
31483189
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xStateListItem,
31493190
pxDelayedTaskList );
3191+
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,
3192+
pxDelayedTaskList );
31503193
/* back */
31513194
uxListRemove_ExpectAndReturn( &tcb->xStateListItem, pdTRUE );
31523195
listLIST_ITEM_CONTAINER_ExpectAndReturn( &ptcb->xEventListItem,

0 commit comments

Comments
 (0)