ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
sch_test_utils.h
1 /*************************************************************************
2 ** File:
3 ** $Id: sch_test_utils.h 1.2 2017/06/21 15:28:58EDT mdeschu Exp $
4 **
5 ** Purpose:
6 ** This file contains the function prototypes and global variables for the unit test utilities for the SCH application.
7 **
8 ** References:
9 ** Flight Software Branch C Coding Standard Version 1.2
10 ** CFS Development Standards Document
11 ** Notes:
12 **
13 *************************************************************************/
14
15/*
16 * Includes
17 */
18
19#include "sch_app.h"
20#include "ut_cfe_evs_hooks.h"
21// FIXME: these need to be implemented/updated in UT-Assert (by copying from sch_test_utils.c/.h):
22//#include "ut_cfe_evs_stubs.h"
23//#include "ut_cfe_time_stubs.h"
24//#include "ut_ostimer_stubs.h"
25#include "ut_cfe_sb_stubs.h"
26#include "ut_cfe_sb_hooks.h"
27#include "ut_cfe_time_hooks.h"
28#include "ut_cfe_psp_memutils_stubs.h"
29#include "ut_cfe_tbl_stubs.h"
30#include "ut_cfe_tbl_hooks.h"
31#include "ut_cfe_fs_stubs.h"
32#include "ut_osapi_stubs.h"
33#include "ut_osfileapi_stubs.h"
34#include "ut_cfe_es_stubs.h"
35#include <time.h>
36
37/*
38 * Function Definitions
39 */
40
41void SCH_Test_Setup(void);
42void SCH_Test_TearDown(void);
43
44/*
45 * Additional UT-Assert Stub Functions and Required Data Structures
46 *
47 * Note: This code needs to be moved into the UT-Assert library. We are including it here for now because the
48 * next release of the UT-Assert library is not expected to happen in the near future.
49 */
50
51/* ut_osapi_stubs */
52
53typedef enum
54{
55 UT_CFE_EVS_REGISTER_INDEX,
56 UT_CFE_EVS_SENDEVENT_INDEX,
57 UT_CFE_EVS_SENDTIMEDEVENT_INDEX,
58 UT_CFE_EVS_SENDEVENTWITHAPPID_INDEX,
59 UT_CFE_EVS_CLEANUPAPP_INDEX,
60 UT_CFE_EVS_RESETALLFILTERS_INDEX,
61 UT_CFE_EVS_MAX_INDEX
62} Ut_CFE_EVS_INDEX_t;
63
64typedef struct
65{
66 int32 (*CFE_EVS_Register)(void *Filters, uint16 NumEventFilters, uint16 FilterScheme);
67 int32 (*CFE_EVS_SendEvent)(uint16 EventID, uint16 EventType, const char *EventText);
68 int32 (*CFE_EVS_SendTimedEvent)(CFE_TIME_SysTime_t Time, uint16 EventID, uint16 EventType, const char *Spec, ... );
69 int32 (*CFE_EVS_SendEventWithAppID)(uint16 EventID, uint16 EventType, uint32 AppID, const char *Spec, ... );
70 int32 (*CFE_EVS_CleanUpApp)(uint32 AppId);
71 int32 (*CFE_EVS_ResetAllFilters)(void);
73
74typedef struct
75{
76 int32 Value;
77 uint32 Count;
78 boolean ContinueReturnCodeAfterCountZero;
80
81void Ut_CFE_EVS_Reset(void);
82void Ut_CFE_EVS_SetFunctionHook(uint32 Index, void *FunPtr);
83void Ut_CFE_EVS_SetReturnCode(uint32 Index, int32 RtnVal, uint32 CallCnt);
84void Ut_CFE_EVS_ContinueReturnCodeAfterCountZero(uint32 Index);
85int32 CFE_EVS_ResetAllFilters(void);
86
87/* end ut_osapi_stubs */
88
89/* ut_ostimer_stubs */
90
91typedef enum
92{
93 UT_OSTIMER_CREATE_INDEX,
94 UT_OSTIMER_SET_INDEX,
95 UT_OSTIMER_MAX_INDEX
96} Ut_OSTIMER_INDEX_t;
97
98typedef struct
99{
100 int32 (*OS_TimerCreate)(uint32 *timer_id, const char *timer_name, uint32 *clock_accuracy, OS_TimerCallback_t callback_ptr);
101 int32 (*OS_TimerSet)(uint32 timer_id, uint32 start_time, uint32 interval_time);
103
104typedef struct
105{
106 int32 Value;
107 uint32 Count;
108 boolean ContinueReturnCodeAfterCountZero;
110
111void Ut_OSTIMER_Reset(void);
112void Ut_OSTIMER_SetFunctionHook(uint32 Index, void *FunPtr);
113void Ut_OSTIMER_SetReturnCode(uint32 Index, int32 RtnVal, uint32 CallCnt);
114void Ut_OSTIMER_ContinueReturnCodeAfterCountZero(uint32 Index);
115
116/* end ut_ostimer_stubs */
117
118/* ut_cfe_time_stubs */
119
120typedef enum
121{
122 UT_CFE_TIME_GETUTC_INDEX,
123 UT_CFE_TIME_GETTAI_INDEX,
124 UT_CFE_TIME_GETTIME_INDEX,
125 UT_CFE_TIME_SUB2MICROSECS_INDEX,
126 UT_CFE_TIME_SUBTRACT_INDEX,
127 UT_CFE_TIME_MICRO2SUBSECS_INDEX,
128 UT_CFE_TIME_ADD_INDEX,
129 UT_CFE_TIME_PRINT_INDEX,
130 UT_CFE_TIME_COMPARE_INDEX,
131 UT_CFE_TIME_FS2CFESECONDS_INDEX,
132 UT_CFE_TIME_REGISTERSYNCHCALLBACK_INDEX,
133 UT_CFE_TIME_UNREGISTERSYNCHCALLBACK_INDEX,
134 UT_CFE_TIME_GETMETSUBSECS_INDEX,
135 UT_CFE_TIME_GETCLOCKINFO_INDEX,
136 UT_CFE_TIME_MAX_INDEX
137} Ut_CFE_TIME_INDEX_t;
138
139typedef struct
140{
141 CFE_TIME_SysTime_t (*CFE_TIME_GetUTC)(void);
142 CFE_TIME_SysTime_t (*CFE_TIME_GetTAI)(void);
143 CFE_TIME_SysTime_t (*CFE_TIME_GetTime)(void);
144 uint32 (*CFE_TIME_Micro2SubSecs)(uint32 MicroSeconds);
145 uint32 (*CFE_TIME_Sub2MicroSecs)(uint32 SubSeconds);
146 CFE_TIME_SysTime_t (*CFE_TIME_Add)(CFE_TIME_SysTime_t Time1, CFE_TIME_SysTime_t Time2);
147 CFE_TIME_SysTime_t (*CFE_TIME_Subtract)(CFE_TIME_SysTime_t Time1, CFE_TIME_SysTime_t Time2);
148 void (*CFE_TIME_Print)(char *PrintBuffer, CFE_TIME_SysTime_t TimeToPrint);
149 CFE_TIME_Compare_t (*CFE_TIME_Compare)(CFE_TIME_SysTime_t TimeA, CFE_TIME_SysTime_t TimeB);
150 uint32 (*CFE_TIME_FS2CFESeconds)(uint32 SecondsFS);
151 int32 (*CFE_TIME_RegisterSynchCallback)(CFE_TIME_SynchCallbackPtr_t CallbackFuncPtr);
152 int32 (*CFE_TIME_UnregisterSynchCallback)(CFE_TIME_SynchCallbackPtr_t CallbackFuncPtr);
153 uint32 (*CFE_TIME_GetMETsubsecs)(void);
154 uint16 (*CFE_TIME_GetClockInfo)(void);
156
157typedef struct
158{
159 int32 Value;
160 uint32 Count;
161 boolean ContinueReturnCodeAfterCountZero;
163
164void Ut_CFE_TIME_Reset(void);
165void Ut_CFE_TIME_SetFunctionHook(uint32 Index, void *FunPtr);
166void Ut_CFE_TIME_SetReturnCode(uint32 Index, int32 RtnVal, uint32 CallCnt);
167void Ut_CFE_TIME_ContinueReturnCodeAfterCountZero(uint32 Index);
168
169/* end ut_cfe_time_stubs */
170
171/************************/
172/* End of File Comment */
173/************************/
Definition: sch_test_utils.h:65
Definition: sch_test_utils.h:75
Definition: sch_test_utils.h:140
Definition: sch_test_utils.h:158
Definition: sch_test_utils.h:99
Definition: sch_test_utils.h:105