Snapdragon® Telematics Application Framework (TelAF) Interface Specification
le_test.h
Go to the documentation of this file.
1 
105 //--------------------------------------------------------------------------------------------------
113 #ifndef LEGATO_TEST_INCLUDE_GUARD
114 #define LEGATO_TEST_INCLUDE_GUARD
115 
116 
117 //--------------------------------------------------------------------------------------------------
123 //--------------------------------------------------------------------------------------------------
124 void _le_test_Init(int testCount);
125 void _le_test_Exit(void) __attribute__((noreturn));
126 bool _le_test_CheckNeedsPlan(void);
127 void _le_test_Fail(void);
128 int _le_test_NumberTest(void);
129 int _le_test_GetNumTests(void);
130 int _le_test_GetNumFailures(void);
131 bool _le_test_SetTodo(bool todo);
132 void _le_test_Skip(int count);
133 bool _le_test_IsSkipping(void);
134 const char* _le_test_GetTag(void);
135 
136 //
137 // Allow overriding LE_TEST_OUTPUT by a frameworkAdaptor
138 //
139 #ifndef LE_TEST_OUTPUT
140 # define LE_TEST_OUTPUT(format, ...) LE_INFO("TAP | " format, ##__VA_ARGS__)
141 #endif
142 // @}
143 
144 //--------------------------------------------------------------------------------------------------
148 //--------------------------------------------------------------------------------------------------
149 #define LE_TEST_NO_PLAN -1
150 
151 //--------------------------------------------------------------------------------------------------
157 //--------------------------------------------------------------------------------------------------
158 #define LE_TEST_PLAN(testCount) do { \
159  if (testCount >= 0) { LE_TEST_OUTPUT("1..%d", testCount); } \
160  _le_test_Init(testCount); \
161  } while(0)
162 
163 
164 //--------------------------------------------------------------------------------------------------
170 //--------------------------------------------------------------------------------------------------
171 #define LE_TEST_INIT LE_TEST_PLAN(LE_TEST_NO_PLAN)
172 
173 
174 //--------------------------------------------------------------------------------------------------
178 //--------------------------------------------------------------------------------------------------
179 #define LE_TEST_OK(test, testName, ...) do { \
180  if (test) \
181  { \
182  LE_TEST_OUTPUT("ok %d - " testName "%s", \
183  _le_test_NumberTest(), \
184  ##__VA_ARGS__, \
185  _le_test_GetTag()); \
186  } \
187  else \
188  { \
189  LE_TEST_OUTPUT("not ok %d - " testName "%s", \
190  _le_test_NumberTest(), \
191  ##__VA_ARGS__, \
192  _le_test_GetTag()); \
193  _le_test_Fail(); \
194  } \
195  } while(0)
196 
197 //--------------------------------------------------------------------------------------------------
203 //--------------------------------------------------------------------------------------------------
204 #define LE_TEST(testResult) LE_TEST_OK((testResult), #testResult)
205 
206 
207 //--------------------------------------------------------------------------------------------------
214 //--------------------------------------------------------------------------------------------------
215 #define LE_TEST_FATAL(...) do { \
216  LE_TEST_OUTPUT("Bail out! " __VA_ARGS__); \
217  _le_test_Exit(); \
218  } while(0)
219 
220 //--------------------------------------------------------------------------------------------------
227 //--------------------------------------------------------------------------------------------------
228 #define LE_TEST_ASSERT(test, testName, ...) do { \
229  if (test) \
230  { \
231  LE_TEST_OUTPUT("ok %d - " testName "%s", \
232  _le_test_NumberTest(), \
233  ##__VA_ARGS__, \
234  _le_test_GetTag()); \
235  } \
236  else \
237  { \
238  LE_TEST_OUTPUT("not ok %d - " testName "%s", \
239  _le_test_NumberTest(), \
240  ##__VA_ARGS__, \
241  _le_test_GetTag()); \
242  _le_test_Fail(); \
243  LE_TEST_FATAL(); \
244  } \
245  } while(0)
246 
247 
248 //--------------------------------------------------------------------------------------------------
253 //--------------------------------------------------------------------------------------------------
254 #define LE_TEST_INFO(...) LE_TEST_OUTPUT("# " __VA_ARGS__)
255 
256 //--------------------------------------------------------------------------------------------------
262 //--------------------------------------------------------------------------------------------------
263 #define LE_TEST_BEGIN_TODO(cond) do { \
264  bool _le_test_OldTodo = _le_test_SetTodo(cond); \
265 
266 //--------------------------------------------------------------------------------------------------
270 //--------------------------------------------------------------------------------------------------
271 #define LE_TEST_END_TODO() \
272  _le_test_SetTodo(_le_test_OldTodo); \
273  } while(0)
274 
275 
276 //--------------------------------------------------------------------------------------------------
282 //--------------------------------------------------------------------------------------------------
283 #define LE_TEST_BEGIN_SKIP(cond, count) do { \
284  if (cond) \
285  { \
286  _le_test_Skip(count); \
287  break; \
288  }
289 
290 //--------------------------------------------------------------------------------------------------
294 //--------------------------------------------------------------------------------------------------
295 #define LE_TEST_END_SKIP() \
296  } while(0)
297 
298 
299 //--------------------------------------------------------------------------------------------------
303 //--------------------------------------------------------------------------------------------------
304 #define LE_TEST_EXIT do { \
305  if (_le_test_CheckNeedsPlan()) \
306  { \
307  LE_TEST_OUTPUT("1..%d", _le_test_GetNumTests()); \
308  } \
309  _le_test_Exit(); \
310  } while(0)
311 
313 #define LE_TEST_SUMMARY LE_TEST_EXIT
314 
315 
316 #endif // LEGATO_TEST_INCLUDE_GUARD
bool _le_test_SetTodo(bool todo)
void _le_test_Exit(void) __attribute__((noreturn))
void _le_test_Fail(void)
int _le_test_GetNumTests(void)
bool _le_test_CheckNeedsPlan(void)
void _le_test_Skip(int count)
__attribute__((weak)) LE_SHARED void *le_comm_Create(const int argc
< [IN] Communication channel.
Definition: le_appCtrl_commonclient.c:191
int _le_test_NumberTest(void)
bool _le_test_IsSkipping(void)
void _le_test_Init(int testCount)
const char * _le_test_GetTag(void)
int _le_test_GetNumFailures(void)