/*----------------------------------------------------------------------------*/ void Test_OS_TaskGetInfo_Success(void) { int32 expected = OS_SUCCESS; int32 actual = 99; /* Setup Inputs */ uint32 task_id = 1; static OS_task_prop_t task_prop; OsApi_Adaptor_setTaskTableEntry(task_id, FALSE, 1, "testTask", 2, 3, 4, deleteFnc); /* Execute Test */ actual = OS_TaskGetInfo(task_id, &task_prop); /* Verify Outputs */ osTaskRecord_ptr = OsApi_Adaptor_getTaskTableEntry(task_id); UtAssert_True(actual == expected, "actual == OS_SUCCESS"); UtAssert_True(task_prop.creator == osTaskRecord_ptr->creator, "creator == expected"); UtAssert_True(task_prop.stack_size == osTaskRecord_ptr->stack_size, "stack_size == expected"); UtAssert_True(task_prop.priority == osTaskRecord_ptr->priority, "priority == expected"); UtAssert_True(task_prop.OStask_id == osTaskRecord_ptr->id, "OStask_id == expected"); UtAssert_StrCmp(task_prop.name, osTaskRecord_ptr->name, "name == expected"); /* Verify Semaphore Usage */ UtAssert_True(getNSemTake(OS_TASK_TABLE_SEM) > 0, "semaphore taken"); UtAssert_True(getNSemTake(OS_TASK_TABLE_SEM) == getNSemGive(OS_TASK_TABLE_SEM), "nSemTake == nSemGive"); }
/*----------------------------------------------------------------------------*/ void Test_OS_TaskGetInfo_NullProp(void) { int32 expected = OS_INVALID_POINTER; int32 actual = 99; /* Setup Inputs */ uint32 task_id = 1; OS_task_prop_t *task_prop = NULL; /* Execute Test */ actual = OS_TaskGetInfo(task_id, task_prop); /* Verify Outputs */ UtAssert_True(actual == expected, "actual == OS_INVALID_POINTER"); /* Verify Semaphore Usage */ UtAssert_True(getNSemTake(OS_TASK_TABLE_SEM) > 0, "semaphore taken"); UtAssert_True(getNSemTake(OS_TASK_TABLE_SEM) == getNSemGive(OS_TASK_TABLE_SEM), "nSemTake == nSemGive"); }
/*----------------------------------------------------------------------------*/ void Test_OS_TaskGetInfo_IdInvalid(void) { int32 expected = OS_ERR_INVALID_ID; int32 actual = 99; /* Setup Inputs */ uint32 task_id = OS_MAX_TASKS; static OS_task_prop_t task_prop; /* Execute Test */ actual = OS_TaskGetInfo(task_id, &task_prop); /* Verify Outputs */ UtAssert_True(actual == expected, "actual == OS_ERR_INVALID_ID"); /* Verify Semaphore Usage */ UtAssert_True(getNSemTake(OS_TASK_TABLE_SEM) > 0, "semaphore taken"); UtAssert_True(getNSemTake(OS_TASK_TABLE_SEM) == getNSemGive(OS_TASK_TABLE_SEM), "nSemTake == nSemGive"); }
/*----------------------------------------------------------------------------*/ void Test_OS_TaskGetInfo_IdIsFree(void) { int32 expected = OS_ERR_INVALID_ID; int32 actual = 99; /* Setup Inputs */ uint32 task_id = OS_MAX_TASKS - 1; static OS_task_prop_t task_prop; OsApi_Adaptor_setTaskTableEntry(task_id, TRUE, 0, "", 0, 0, 0, NULL); /* Execute Test */ actual = OS_TaskGetInfo(task_id, &task_prop); /* Verify Outputs */ UtAssert_True(actual == expected, "actual == OS_ERR_INVALID_ID"); UtAssert_True(getNSemTake(OS_TASK_TABLE_SEM) > 0, "semaphore taken"); UtAssert_True(getNSemTake(OS_TASK_TABLE_SEM) == getNSemGive(OS_TASK_TABLE_SEM), "nSemTake == nSemGive"); /* Verify Semaphore Usage */ UtAssert_True(getNSemTake(OS_TASK_TABLE_SEM) > 0, "semaphore taken"); UtAssert_True(getNSemTake(OS_TASK_TABLE_SEM) == getNSemGive(OS_TASK_TABLE_SEM), "nSemTake == nSemGive"); }
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ int32 CFE_ES_ListResources(int32 fd) { OS_task_prop_t TaskProp; OS_queue_prop_t QueueProp; OS_bin_sem_prop_t SemProp; OS_count_sem_prop_t CountSemProp; OS_mut_sem_prop_t MutProp; OS_FDTableEntry FileProp; int32 Result = CFE_SUCCESS; int32 NumSemaphores = 0; int32 NumCountSems =0; int32 NumMutexes = 0; int32 NumQueues = 0; int32 NumTasks = 0; int32 NumFiles = 0; uint32 i; char Line[35]; for ( i= 0; i < OS_MAX_TASKS; i++) { if (OS_TaskGetInfo(i, &TaskProp) == OS_SUCCESS) { NumTasks++; } } for ( i= 0; i < OS_MAX_QUEUES; i++) { if (OS_QueueGetInfo(i, &QueueProp) == OS_SUCCESS) { NumQueues++; } } for ( i= 0; i < OS_MAX_COUNT_SEMAPHORES; i++) { if (OS_CountSemGetInfo(i, &CountSemProp) == OS_SUCCESS) { NumCountSems++; } } for ( i= 0; i < OS_MAX_BIN_SEMAPHORES; i++) { if (OS_BinSemGetInfo(i, &SemProp) == OS_SUCCESS) { NumSemaphores++; } } for ( i= 0; i < OS_MAX_MUTEXES; i++) { if (OS_MutSemGetInfo(i, &MutProp) == OS_SUCCESS) { NumMutexes++; } } for ( i= 0; i < OS_MAX_NUM_OPEN_FILES; i++) { if (OS_FDGetInfo(i, &FileProp) == OS_FS_SUCCESS) { NumFiles++; } } sprintf(Line,"OS Resources in Use:\n"); Result = OS_write(fd, Line, strlen(Line)); if( Result == strlen(Line)) { sprintf(Line,"Number of Tasks: %d\n", (int) NumTasks); Result = OS_write(fd, Line, strlen(Line)); if (Result == strlen(Line)) { sprintf(Line,"Number of Queues: %d\n", (int) NumQueues); Result = OS_write(fd, Line, strlen(Line)); if (Result == strlen(Line)) { sprintf(Line,"Number of Binary Semaphores: %d\n",(int) NumSemaphores); Result = OS_write(fd, Line, strlen(Line)); if (Result == strlen(Line)) { sprintf(Line,"Number of Counting Semaphores: %d\n",(int) NumCountSems); Result = OS_write(fd, Line, strlen(Line)); if (Result == strlen(Line)) { sprintf(Line,"Number of Mutexes: %d\n", (int) NumMutexes); Result = OS_write(fd, Line, strlen(Line)); if (Result == strlen(Line)) { sprintf(Line,"Number of Open Files: %d\n",(int) NumFiles); Result = OS_write(fd, Line, strlen(Line)); if ( Result == strlen(Line)) { Result = CFE_SUCCESS; } } } } } } } /* ** If any of the writes failed, return the OS_write ** failure */ return Result; }