@@ -3738,12 +3738,40 @@ void TestAPI(void)
37383738 UT_Report (__FILE__ , __LINE__ , CFE_ES_RestartApp (AppId ) == CFE_ES_ERR_RESOURCEID_NOT_VALID , "CFE_ES_RestartApp" ,
37393739 "Application ID too large" );
37403740
3741- /* Test reloading an app that doesn't exist */
3741+ /* Test CFE_ES_ReloadApp with bad AppID argument */
3742+ ES_ResetUnitTest ();
3743+ UT_Report (__FILE__ , __LINE__ ,
3744+ CFE_ES_ReloadApp (CFE_ES_APPID_UNDEFINED , "filename" ) == CFE_ES_ERR_RESOURCEID_NOT_VALID ,
3745+ "CFE_ES_ReloadApp" , "Bad application ID" );
3746+
3747+ /* Test reloading a core app */
3748+ ES_ResetUnitTest ();
3749+ ES_UT_SetupSingleAppId (CFE_ES_AppType_CORE , CFE_ES_AppState_RUNNING , NULL , & UtAppRecPtr , NULL );
3750+ AppId = CFE_ES_AppRecordGetID (UtAppRecPtr );
3751+ UT_Report (__FILE__ , __LINE__ , CFE_ES_ReloadApp (AppId , "filename" ) == CFE_ES_ERR_RESOURCEID_NOT_VALID ,
3752+ "CFE_ES_ReloadApp" , "Cannot Reload a CORE App" );
3753+
3754+ /* Test reloading an app that is currently not running */
37423755 ES_ResetUnitTest ();
37433756 ES_UT_SetupSingleAppId (CFE_ES_AppType_EXTERNAL , CFE_ES_AppState_STOPPED , NULL , & UtAppRecPtr , NULL );
37443757 AppId = CFE_ES_AppRecordGetID (UtAppRecPtr );
37453758 UT_Report (__FILE__ , __LINE__ , CFE_ES_ReloadApp (AppId , "filename" ) == CFE_ES_ERR_RESOURCEID_NOT_VALID ,
3746- "CFE_ES_ReloadApp" , "Bad application ID" );
3759+ "CFE_ES_ReloadApp" , "App not running" );
3760+
3761+ /* Test success initiating an app reload */
3762+ ES_ResetUnitTest ();
3763+ ES_UT_SetupSingleAppId (CFE_ES_AppType_EXTERNAL , CFE_ES_AppState_RUNNING , NULL , & UtAppRecPtr , NULL );
3764+ AppId = CFE_ES_AppRecordGetID (UtAppRecPtr );
3765+ UT_Report (__FILE__ , __LINE__ , CFE_ES_ReloadApp (AppId , "filename" ) == CFE_SUCCESS , "CFE_ES_ReloadApp" ,
3766+ "Reload success" );
3767+
3768+ /* Test Reload app: file doesn't exist*/
3769+ ES_ResetUnitTest ();
3770+ UT_SetDefaultReturnValue (UT_KEY (OS_stat ), OS_ERROR );
3771+ ES_UT_SetupSingleAppId (CFE_ES_AppType_EXTERNAL , CFE_ES_AppState_RUNNING , NULL , & UtAppRecPtr , NULL );
3772+ AppId = CFE_ES_AppRecordGetID (UtAppRecPtr );
3773+ UT_Report (__FILE__ , __LINE__ , CFE_ES_ReloadApp (AppId , "missingfile" ) == CFE_ES_FILE_IO_ERR , "CFE_ES_ReloadApp" ,
3774+ "File doesn't exist" );
37473775
37483776 /* Test deleting an app that doesn't exist */
37493777 ES_ResetUnitTest ();
@@ -3855,6 +3883,22 @@ void TestAPI(void)
38553883 UT_Report (__FILE__ , __LINE__ , CFE_ES_GetTaskID (& TaskId ) == CFE_SUCCESS , "CFE_ES_GetTaskID" ,
38563884 "Get task ID by context successful" );
38573885
3886+ /* Test CFE_ES_GetAppID error with null pointer parameter */
3887+ ES_ResetUnitTest ();
3888+ UT_Report (__FILE__ , __LINE__ , CFE_ES_GetAppID (NULL ) == CFE_ES_BAD_ARGUMENT , "CFE_ES_GetAppID" ,
3889+ "NULL AppID pointer" );
3890+
3891+ /* Test CFE_ES_GetAppIDByName error with null AppID pointer and valid name */
3892+ ES_ResetUnitTest ();
3893+ UT_Report (__FILE__ , __LINE__ , CFE_ES_GetAppIDByName (NULL , "UT" ) == CFE_ES_BAD_ARGUMENT , "CFE_ES_GetAppIDByName" ,
3894+ "NULL AppID pointer" );
3895+
3896+ /* Test CFE_ES_GetAppIDByName error with valid AppID and NULL name */
3897+ ES_ResetUnitTest ();
3898+ ES_UT_SetupSingleAppId (CFE_ES_AppType_EXTERNAL , CFE_ES_AppState_RUNNING , "UT" , NULL , NULL );
3899+ UT_Report (__FILE__ , __LINE__ , CFE_ES_GetAppIDByName (& AppId , NULL ) == CFE_ES_BAD_ARGUMENT , "CFE_ES_GetAppIDByName" ,
3900+ "NULL name pointer" );
3901+
38583902 /* Test getting the app name with a bad app ID */
38593903 ES_ResetUnitTest ();
38603904 AppId = CFE_ES_APPID_C (ES_UT_MakeAppIdForIndex (99999 ));
@@ -3987,6 +4031,14 @@ void TestAPI(void)
39874031 CFE_ES_TaskEntryPoint ();
39884032 UtAssert_STUB_COUNT (ES_UT_TaskFunction , 1 );
39894033
4034+ /* Test deleting a child task when task is not active/valid */
4035+ ES_ResetUnitTest ();
4036+ ES_UT_SetupSingleAppId (CFE_ES_AppType_EXTERNAL , CFE_ES_AppState_RUNNING , "UT" , NULL , & UtTaskRecPtr );
4037+ TaskId = CFE_ES_TaskRecordGetID (UtTaskRecPtr );
4038+ UtTaskRecPtr -> TaskId = TaskId + 1 ; /* UtTaskRecPtr->TaskId shouldn't match the Child Task ID */
4039+ UT_Report (__FILE__ , __LINE__ , CFE_ES_DeleteChildTask (TaskId ) == CFE_ES_ERR_RESOURCEID_NOT_VALID ,
4040+ "CFE_ES_DeleteChildTask" , "Task ID is not valid/active" );
4041+
39904042 /* Test deleting a child task using a main task's ID */
39914043 ES_ResetUnitTest ();
39924044 ES_UT_SetupSingleAppId (CFE_ES_AppType_EXTERNAL , CFE_ES_AppState_RUNNING , "UT" , NULL , & UtTaskRecPtr );
@@ -4411,6 +4463,16 @@ void TestCDS()
44114463 UT_Report (__FILE__ , __LINE__ , CFE_ES_CDS_CacheFlush (& CFE_ES_Global .CDSVars .Cache ) == CFE_ES_CDS_ACCESS_ERROR ,
44124464 "CFE_ES_CDS_CacheFlush" , "Access Error" );
44134465
4466+ /* Test CDS registering with null Handle pointer */
4467+ ES_ResetUnitTest ();
4468+ UT_Report (__FILE__ , __LINE__ , CFE_ES_RegisterCDS (NULL , 4 , "Name3" ) == CFE_ES_BAD_ARGUMENT , "CFE_ES_RegisterCDS" ,
4469+ "NULL handle pointer" );
4470+
4471+ /* Test CDS registering with null name */
4472+ ES_ResetUnitTest ();
4473+ UT_Report (__FILE__ , __LINE__ , CFE_ES_RegisterCDS (& CDSHandle , 4 , NULL ) == CFE_ES_BAD_ARGUMENT , "CFE_ES_RegisterCDS" ,
4474+ "NULL name argument" );
4475+
44144476 /* Test CDS registering with a write CDS failure */
44154477 ES_ResetUnitTest ();
44164478 ES_UT_SetupSingleAppId (CFE_ES_AppType_CORE , CFE_ES_AppState_RUNNING , "UT" , NULL , NULL );
0 commit comments