annotate packages/infra/current/include/testcase.h @ 823:19a153ac403c default tip

* Added execute permissions to files missed in conversion from CVS
author alexs
date Thu, 08 May 2003 17:42:17 +0000
parents d2c90368aeef
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1 #ifndef CYGONCE_INFRA_TESTCASE_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
2 #define CYGONCE_INFRA_TESTCASE_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
3 //==========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
4 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
5 // testcase.h
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
6 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
7 // Target side interface for tests
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
8 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
9 //==========================================================================
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
10 //####ECOSGPLCOPYRIGHTBEGIN####
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
11 // -------------------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
12 // This file is part of eCos, the Embedded Configurable Operating System.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
13 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
14 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
15 // eCos is free software; you can redistribute it and/or modify it under
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
16 // the terms of the GNU General Public License as published by the Free
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
17 // Software Foundation; either version 2 or (at your option) any later version.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
18 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
19 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
20 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
21 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
22 // for more details.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
23 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
24 // You should have received a copy of the GNU General Public License along
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
25 // with eCos; if not, write to the Free Software Foundation, Inc.,
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
26 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
27 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
28 // As a special exception, if other files instantiate templates or use macros
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
29 // or inline functions from this file, or you compile this file and link it
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
30 // with other works to produce a work based on this file, this file does not
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
31 // by itself cause the resulting work to be covered by the GNU General Public
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
32 // License. However the source code for this file must still be made available
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
33 // in accordance with section (3) of the GNU General Public License.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
34 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
35 // This exception does not invalidate any other reasons why a work based on
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
36 // this file might be covered by the GNU General Public License.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
37 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
38 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
39 // at http://sources.redhat.com/ecos/ecos-license/
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
40 // -------------------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
41 //####ECOSGPLCOPYRIGHTEND####
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
42 //==========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
43 //#####DESCRIPTIONBEGIN####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
44 //
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
45 // Author(s): ctarpy
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
46 // Contributors: ctarpy, jlarmour
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
47 // Date: 1999-02-16
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
48 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
49 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
50 //####DESCRIPTIONEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
51
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
52 #include <cyg/infra/cyg_type.h> // Common type definitions and support
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
53
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
54
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
55 // CONSTANTS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
56
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
57 // Status codes
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
58
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
59 typedef enum {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
60 CYGNUM_TEST_FAIL,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
61 CYGNUM_TEST_PASS,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
62 CYGNUM_TEST_EXIT,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
63 CYGNUM_TEST_INFO,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
64 CYGNUM_TEST_GDBCMD,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
65 CYGNUM_TEST_NA
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
66 } Cyg_test_code;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
67
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
68 // FUNCTION PROTOTYPES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
69
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
70 externC void
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
71 cyg_test_output(Cyg_test_code _status_, const char* _msg_, int _line_number_,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
72 const char* _file_);
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
73
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
74 // This should be called at the start of each test file
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
75 externC void
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
76 cyg_test_init(void);
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
77
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
78 // This causes the test to exit
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
79 externC void
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
80 cyg_test_exit(void) CYGBLD_ATTRIB_NORET;
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
81
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
82 // GLOBALS
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
83
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
84 externC int cyg_test_is_simulator; // infrastructure changes as necessary
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
85
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
86 // MACROS
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
87
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
88 // ----------- Info -----------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
89 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
90 // Any macro with EXIT in it should only be used in a panic situation. It
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
91 // is synonymous with assert. If the test behaves as expected, it
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
92 // should call one of the FINISH macros.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
93 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
94 // - Compound testcases
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
95 // If a testcase is capable of being part of a compound, then the following
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
96 // rules apply:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
97 // - The testcase must only ever call one of the EXIT macros if it decides
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
98 // the state of the system is such that further testing is meaningless;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
99 // such a call would prevent subsequent tests in the compound from being
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
100 // run.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
101 // - In order to terminate the test, the testcase should call one of the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
102 // FINISH macros. This must be done from within main().
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
103
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
104
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
105
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
106
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
107 // The following is the testcase API to be used by testcases.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
108
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
109 #define CYG_TEST_INIT() cyg_test_init()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
110
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
111 #define CYG_TEST_INFO( _msg_ ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
112 cyg_test_output(CYGNUM_TEST_INFO, _msg_, __LINE__, __FILE__)
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
113
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
114 #define CYG_TEST_PASS( _msg_ ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
115 cyg_test_output(CYGNUM_TEST_PASS, _msg_, __LINE__, __FILE__)
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
116
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
117 #define CYG_TEST_FAIL( _msg_ ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
118 cyg_test_output(CYGNUM_TEST_FAIL, _msg_, __LINE__, __FILE__)
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
119
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
120 #define CYG_TEST_EXIT( _msg_ ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
121 (cyg_test_output(CYGNUM_TEST_EXIT, _msg_, __LINE__, __FILE__), \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
122 cyg_test_exit())
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
123
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
124 // Use the following macro to instruct GDB to run a command when using
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
125 // the automatic testing infrastructure. This must be used *before*
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
126 // CYG_TEST_INIT() is called
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
127
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
128 #define CYG_TEST_GDBCMD( _command_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
129 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
130 cyg_test_output(CYGNUM_TEST_GDBCMD, _command_, __LINE__, __FILE__); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
131 CYG_MACRO_END
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
132
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
133 // Use the following macro to declare that a test is not applicable for
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
134 // some reason - perhaps not appropriate due to chosen hardware,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
135 // configuration options governing the presence of a tested feature, or
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
136 // even configuration options governing the presence of a feature the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
137 // test relies on _in_order_ to test the feature (despite being
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
138 // unrelated!)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
139
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
140 #define CYG_TEST_NA( _msg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
141 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
142 cyg_test_output(CYGNUM_TEST_NA, _msg_, __LINE__, __FILE__); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
143 cyg_test_exit(); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
144 CYG_MACRO_END
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
145
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
146 #ifdef CYG_COMPOUND_TEST
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
147 # define CYG_TEST_FINISH( _msg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
148 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
149 cyg_test_output(CYGNUM_TEST_EXIT, _msg_, __LINE__, __FILE__); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
150 return 0; \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
151 CYG_MACRO_END
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
152 #else
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
153 # define CYG_TEST_FINISH( _msg_ ) CYG_TEST_EXIT( _msg_ )
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
154 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
155
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
156 #define CYG_TEST_STILL_ALIVE( _ctr_ , _msg_ ) CYG_TEST_INFO( _msg_ )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
157
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
158
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
159 // ----- The following are convenience functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
160
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
161 #define CYG_TEST_PASS_FINISH( _msg_ ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
162 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
163 CYG_TEST_PASS( _msg_ ); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
164 CYG_TEST_FINISH("done"); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
165 CYG_MACRO_END
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
166
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
167 #define CYG_TEST_FAIL_FINISH( _msg_ ) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
168 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
169 CYG_TEST_FAIL( _msg_ ); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
170 CYG_TEST_FINISH("done"); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
171 CYG_MACRO_END
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
172
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
173
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
174 #define CYG_TEST_CHECK( _chk_ , _msg_) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
175 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
176 (void)(( _chk_ ) || ( CYG_TEST_FAIL( _msg_ ) , cyg_test_exit(), 1)); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
177 CYG_MACRO_END
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
178
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
179 #define CYG_TEST_PASS_FAIL( _cdn_, _msg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
180 CYG_MACRO_START \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
181 if ( _cdn_ ) CYG_TEST_PASS( _msg_ ); else CYG_TEST_FAIL( _msg_ ); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
182 CYG_MACRO_END
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
183
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
184
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
185 // CYG_TEST_PASS_EXIT and CYG_TEST_FAIL_EXIT are now obscelete,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
186 // but are here for now
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
187 // to avoid breaking testcases which still use them. They will
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
188 // soon go away.
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
189 #define CYG_TEST_PASS_EXIT( _msg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
190 (cyg_test_output(CYGNUM_TEST_PASS, _msg_, __LINE__, __FILE__), \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
191 CYG_TEST_EXIT("done"))
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
192
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
193 #define CYG_TEST_FAIL_EXIT( _msg_ ) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
194 (cyg_test_output(CYGNUM_TEST_FAIL, _msg_, __LINE__, __FILE__), \
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
195 CYG_TEST_EXIT("done"))
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
196
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
197
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
198 #endif // CYGONCE_INFRA_TESTCASE_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
199 // EOF testcase.h