1 /*-----------------------------------------------------------------------------
2  *      Name:         CV_Framework.h
3  *      Purpose:      Framework header
4  *----------------------------------------------------------------------------
5  *      Copyright (c) 2017 ARM Limited. All rights reserved.
6  *----------------------------------------------------------------------------*/
7 #ifndef __FRAMEWORK_H__
8 #define __FRAMEWORK_H__
9 
10 #include "CV_Typedefs.h"
11 #include "CV_Report.h"
12 
13 /*-----------------------------------------------------------------------------
14  * Test framework global definitions
15  *----------------------------------------------------------------------------*/
16 
17 /* Test case definition macro                                                 */
18 #define TCD(x, y) {x, #x, y}
19 
20 /* Test case description structure                                            */
21 typedef struct __TestCase {
22   void (*TestFunc)(void);             /* Test function                        */
23   const char *TFName;                 /* Test function name string            */
24   BOOL en;                            /* Test function enabled                */
25 } TEST_CASE;
26 
27 /* Test suite description structure                                           */
28 typedef struct __TestSuite {
29   const char *FileName;               /* Test module file name                */
30   const char *Date;                   /* Compilation date                     */
31   const char *Time;                   /* Compilation time                     */
32   const char *ReportTitle;            /* Title or name of module under test   */
33   void (*Init)(void);                 /* Init function callback               */
34 
35   uint32_t TCBaseNum;                 /* Base number for test case numbering  */
36   TEST_CASE *TC;                      /* Array of test cases                  */
37   uint32_t NumOfTC;                   /* Number of test cases (sz of TC array)*/
38 
39 } TEST_SUITE;
40 
41 /* Defined in user test module                                                */
42 extern TEST_SUITE ts;
43 
44 #endif /* __FRAMEWORK_H__ */
45