From f166a0a5a5c70bcfb91a5b67a9d518707f8088f1 Mon Sep 17 00:00:00 2001 From: Jacob Hageman Date: Thu, 10 Feb 2022 07:30:34 -0700 Subject: [PATCH] Fix #2047, Add CFE_ES_CreateChildTask default handler --- .../core_api/ut-stubs/src/cfe_es_handlers.c | 34 +++++++++++++++++++ modules/core_api/ut-stubs/src/cfe_es_stubs.c | 3 +- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/modules/core_api/ut-stubs/src/cfe_es_handlers.c b/modules/core_api/ut-stubs/src/cfe_es_handlers.c index 08cc6a17e..956ae12a6 100644 --- a/modules/core_api/ut-stubs/src/cfe_es_handlers.c +++ b/modules/core_api/ut-stubs/src/cfe_es_handlers.c @@ -116,6 +116,40 @@ static const cpuaddr UT_ESPOOL_ALIGN_MASK = ((cpuaddr) & ((struct UT_AlignTest * ** Functions */ +/*------------------------------------------------------------ + * + * Default handler for CFE_ES_CreateChildTask coverage stub function + * + *------------------------------------------------------------*/ +void UT_DefaultHandler_CFE_ES_CreateChildTask(void *UserObj, UT_EntryKey_t FuncKey, const UT_StubContext_t *Context) +{ + CFE_ES_TaskId_t *TaskIdPtr = UT_Hook_GetArgValueByName(Context, "TaskIdPtr", CFE_ES_TaskId_t *); + int32 status; + void * IdBuff; + size_t BuffSize; + size_t Position; + + UT_Stub_GetInt32StatusCode(Context, &status); + + if (status >= 0) + { + UT_GetDataBuffer(UT_KEY(CFE_ES_GetAppID), &IdBuff, &BuffSize, &Position); + if (IdBuff != NULL && BuffSize == sizeof(*TaskIdPtr)) + { + memcpy(TaskIdPtr, IdBuff, sizeof(*TaskIdPtr)); + } + else + { + *TaskIdPtr = CFE_UT_ES_DEFAULT_TASKID; + } + } + + if (status < 0) + { + *TaskIdPtr = CFE_ES_TASKID_UNDEFINED; + } +} + /*------------------------------------------------------------ * * Default handler for CFE_ES_GetAppID coverage stub function diff --git a/modules/core_api/ut-stubs/src/cfe_es_stubs.c b/modules/core_api/ut-stubs/src/cfe_es_stubs.c index 5a1a75c2c..bfdb92d2c 100644 --- a/modules/core_api/ut-stubs/src/cfe_es_stubs.c +++ b/modules/core_api/ut-stubs/src/cfe_es_stubs.c @@ -31,6 +31,7 @@ void UT_DefaultHandler_CFE_ES_AppID_ToIndex(void *, UT_EntryKey_t, const UT_StubContext_t *); void UT_DefaultHandler_CFE_ES_CopyToCDS(void *, UT_EntryKey_t, const UT_StubContext_t *); +void UT_DefaultHandler_CFE_ES_CreateChildTask(void *, UT_EntryKey_t, const UT_StubContext_t *); void UT_DefaultHandler_CFE_ES_ExitApp(void *, UT_EntryKey_t, const UT_StubContext_t *); void UT_DefaultHandler_CFE_ES_GetAppID(void *, UT_EntryKey_t, const UT_StubContext_t *); void UT_DefaultHandler_CFE_ES_GetAppIDByName(void *, UT_EntryKey_t, const UT_StubContext_t *); @@ -146,7 +147,7 @@ CFE_Status_t CFE_ES_CreateChildTask(CFE_ES_TaskId_t *TaskIdPtr, const char *Task UT_GenStub_AddParam(CFE_ES_CreateChildTask, CFE_ES_TaskPriority_Atom_t, Priority); UT_GenStub_AddParam(CFE_ES_CreateChildTask, uint32, Flags); - UT_GenStub_Execute(CFE_ES_CreateChildTask, Basic, NULL); + UT_GenStub_Execute(CFE_ES_CreateChildTask, Basic, UT_DefaultHandler_CFE_ES_CreateChildTask); return UT_GenStub_GetReturnValue(CFE_ES_CreateChildTask, CFE_Status_t); }