comparison packages/compat/uitron/current/tests/testcx2.cxx @ 2:443894e2e912 ecos-v1_2_1-release

Block commit of eCos version 1.2.1
author jlarmour
date Tue, 11 May 1999 12:24:34 +0000
parents 3111d98ba7b3
children c38311975d4f
comparison
equal deleted inserted replaced
1:72f549f0d891 2:443894e2e912
1 //=========================================================================== 1 //===========================================================================
2 // 2 //
3 // testcx2.cxx 3 // testcx2.cxx
4 // 4 //
5 // uITRON "C++" test program two 5 // uITRON "C++" test program two
6 // 6 //
7 //=========================================================================== 7 //===========================================================================
8 //####COPYRIGHTBEGIN#### 8 //####COPYRIGHTBEGIN####
9 // 9 //
10 // ------------------------------------------- 10 // -------------------------------------------
20 // 20 //
21 // The Original Code is eCos - Embedded Cygnus Operating System, released 21 // The Original Code is eCos - Embedded Cygnus Operating System, released
22 // September 30, 1998. 22 // September 30, 1998.
23 // 23 //
24 // The Initial Developer of the Original Code is Cygnus. Portions created 24 // The Initial Developer of the Original Code is Cygnus. Portions created
25 // by Cygnus are Copyright (C) 1998 Cygnus Solutions. All Rights Reserved. 25 // by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions. All Rights Reserved.
26 // ------------------------------------------- 26 // -------------------------------------------
27 // 27 //
28 //####COPYRIGHTEND#### 28 //####COPYRIGHTEND####
29 //=========================================================================== 29 //===========================================================================
30 //#####DESCRIPTIONBEGIN#### 30 //#####DESCRIPTIONBEGIN####
31 // 31 //
32 // Author(s): hmt 32 // Author(s): hmt
33 // Contributors: hmt 33 // Contributors: hmt
34 // Date: 1998-03-13 34 // Date: 1998-03-13
35 // Purpose: uITRON API testing 35 // Purpose: uITRON API testing
36 // Description: 36 // Description:
37 // 37 //
38 //####DESCRIPTIONEND#### 38 //####DESCRIPTIONEND####
39 // 39 //
40 //=========================================================================== 40 //===========================================================================
41 41
142 T_MSG *msgptr = (T_MSG *)foo; 142 T_MSG *msgptr = (T_MSG *)foo;
143 T_MSG *rxptr = NULL; 143 T_MSG *rxptr = NULL;
144 VP blfptr = (VP)foo; 144 VP blfptr = (VP)foo;
145 VP blkptr = (VP)foo; 145 VP blkptr = (VP)foo;
146 146
147 int delay = 10;
148 if (cyg_test_is_simulator)
149 delay = 3;
150
147 CYG_TEST_INFO( "Task 1 running" ); 151 CYG_TEST_INFO( "Task 1 running" );
148 ercd = get_tid( &scratch ); 152 ercd = get_tid( &scratch );
149 CYG_TEST_CHECK( E_OK == ercd, "get_tid bad ercd" ); 153 CYG_TEST_CHECK( E_OK == ercd, "get_tid bad ercd" );
150 CYG_TEST_CHECK( 1 == scratch, "tid not 1" ); 154 CYG_TEST_CHECK( 1 == scratch, "tid not 1" );
151 155
152 // start a lower prio task to interact with 156 // start a lower prio task to interact with
153 intercom = 1; 157 intercom = 1;
154 ercd = sta_tsk( 2, 222 ); 158 ercd = sta_tsk( 2, 222 );
155 CYG_TEST_CHECK( E_OK == ercd, "sta_tsk bad ercd" ); 159 CYG_TEST_CHECK( E_OK == ercd, "sta_tsk bad ercd" );
156 ercd = dly_tsk( 10 ); 160 ercd = dly_tsk( delay );
157 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" ); 161 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
158 162
159 // Semaphores; all the illegal argument combinations first 163 // Semaphores; all the illegal argument combinations first
160 CYG_TEST_INFO( "Testing semaphore ops" ); 164 CYG_TEST_INFO( "Testing semaphore ops" );
161 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS 165 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
169 CYG_TEST_CHECK( E_ID == ercd, "wai_sem bad ercd !E_ID" ); 173 CYG_TEST_CHECK( E_ID == ercd, "wai_sem bad ercd !E_ID" );
170 ercd = preq_sem( -6 ); 174 ercd = preq_sem( -6 );
171 CYG_TEST_CHECK( E_ID == ercd, "preq_sem bad ercd !E_ID" ); 175 CYG_TEST_CHECK( E_ID == ercd, "preq_sem bad ercd !E_ID" );
172 ercd = preq_sem( 99 ); 176 ercd = preq_sem( 99 );
173 CYG_TEST_CHECK( E_ID == ercd, "preq_sem bad ercd !E_ID" ); 177 CYG_TEST_CHECK( E_ID == ercd, "preq_sem bad ercd !E_ID" );
174 ercd = twai_sem( -6, 10 ); 178 ercd = twai_sem( -6, delay );
175 CYG_TEST_CHECK( E_ID == ercd, "twai_sem bad ercd !E_ID" ); 179 CYG_TEST_CHECK( E_ID == ercd, "twai_sem bad ercd !E_ID" );
176 ercd = twai_sem( 99, 10 ); 180 ercd = twai_sem( 99, delay );
177 CYG_TEST_CHECK( E_ID == ercd, "twai_sem bad ercd !E_ID" ); 181 CYG_TEST_CHECK( E_ID == ercd, "twai_sem bad ercd !E_ID" );
178 ercd = twai_sem( 2, -999 ); 182 ercd = twai_sem( 2, -999 );
179 CYG_TEST_CHECK( E_PAR == ercd, "twai_sem bad ercd !E_PAR" ); 183 CYG_TEST_CHECK( E_PAR == ercd, "twai_sem bad ercd !E_PAR" );
180 ercd = ref_sem( &sem_info, -6 ); 184 ercd = ref_sem( &sem_info, -6 );
181 CYG_TEST_CHECK( E_ID == ercd, "ref_sem bad ercd !E_ID" ); 185 CYG_TEST_CHECK( E_ID == ercd, "ref_sem bad ercd !E_ID" );
189 #endif // we can test bad param error returns 193 #endif // we can test bad param error returns
190 194
191 // check the waitable functions versus dispatch disable 195 // check the waitable functions versus dispatch disable
192 ercd = preq_sem( 2 ); 196 ercd = preq_sem( 2 );
193 CYG_TEST_CHECK( E_TMOUT == ercd, "preq_sem bad ercd !E_TMOUT" ); 197 CYG_TEST_CHECK( E_TMOUT == ercd, "preq_sem bad ercd !E_TMOUT" );
194 ercd = twai_sem( 2, 10 ); 198 ercd = twai_sem( 2, delay );
195 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_sem bad ercd !E_TMOUT" ); 199 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_sem bad ercd !E_TMOUT" );
196 ercd = twai_sem( 2, TMO_POL ); 200 ercd = twai_sem( 2, TMO_POL );
197 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_sem(POL) bad ercd !E_TMOUT" ); 201 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_sem(POL) bad ercd !E_TMOUT" );
198 ercd = dis_dsp(); 202 ercd = dis_dsp();
199 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" ); 203 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" );
200 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS 204 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
201 ercd = wai_sem( 2 ); 205 ercd = wai_sem( 2 );
202 CYG_TEST_CHECK( E_CTX == ercd, "wai_sem bad ercd !E_CTX" ); 206 CYG_TEST_CHECK( E_CTX == ercd, "wai_sem bad ercd !E_CTX" );
203 ercd = twai_sem( 2, 10 ); 207 ercd = twai_sem( 2, delay );
204 CYG_TEST_CHECK( E_CTX == ercd, "twai_sem bad ercd !E_CTX" ); 208 CYG_TEST_CHECK( E_CTX == ercd, "twai_sem bad ercd !E_CTX" );
205 ercd = twai_sem( 2, TMO_FEVR ); 209 ercd = twai_sem( 2, TMO_FEVR );
206 CYG_TEST_CHECK( E_CTX == ercd, "twai_sem(FEVR) bad ercd !E_CTX" ); 210 CYG_TEST_CHECK( E_CTX == ercd, "twai_sem(FEVR) bad ercd !E_CTX" );
207 #endif // we can test bad param error returns 211 #endif // we can test bad param error returns
208 ercd = twai_sem( 2, TMO_POL ); 212 ercd = twai_sem( 2, TMO_POL );
211 CYG_TEST_CHECK( E_TMOUT == ercd, "preq_sem bad ercd !E_TMOUT" ); 215 CYG_TEST_CHECK( E_TMOUT == ercd, "preq_sem bad ercd !E_TMOUT" );
212 ercd = ena_dsp(); 216 ercd = ena_dsp();
213 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" ); 217 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" );
214 ercd = preq_sem( 2 ); 218 ercd = preq_sem( 2 );
215 CYG_TEST_CHECK( E_TMOUT == ercd, "preq_sem bad ercd !E_TMOUT" ); 219 CYG_TEST_CHECK( E_TMOUT == ercd, "preq_sem bad ercd !E_TMOUT" );
216 ercd = twai_sem( 2, 10 ); 220 ercd = twai_sem( 2, delay );
217 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_sem bad ercd !E_TMOUT" ); 221 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_sem bad ercd !E_TMOUT" );
218 ercd = twai_sem( 2, TMO_POL ); 222 ercd = twai_sem( 2, TMO_POL );
219 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_sem(POL) bad ercd !E_TMOUT" ); 223 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_sem(POL) bad ercd !E_TMOUT" );
220 CYG_TEST_PASS( "bad calls: wai_sem, twai_sem with dis_dsp" ); 224 CYG_TEST_PASS( "bad calls: wai_sem, twai_sem with dis_dsp" );
221 225
252 CYG_TEST_CHECK( E_OK == ercd, "wai_sem bad ercd" ); 256 CYG_TEST_CHECK( E_OK == ercd, "wai_sem bad ercd" );
253 ercd = ref_sem( &sem_info, 2 ); 257 ercd = ref_sem( &sem_info, 2 );
254 CYG_TEST_CHECK( E_OK == ercd, "ref_sem bad ercd" ); 258 CYG_TEST_CHECK( E_OK == ercd, "ref_sem bad ercd" );
255 CYG_TEST_CHECK( 0 == sem_info.wtsk, "sem.wtsk should be 0" ); 259 CYG_TEST_CHECK( 0 == sem_info.wtsk, "sem.wtsk should be 0" );
256 CYG_TEST_CHECK( 1 == sem_info.semcnt, "semcnt should be 1" ); 260 CYG_TEST_CHECK( 1 == sem_info.semcnt, "semcnt should be 1" );
257 ercd = twai_sem( 2, 10 ); 261 ercd = twai_sem( 2, delay );
258 CYG_TEST_CHECK( E_OK == ercd, "wai_sem bad ercd" ); 262 CYG_TEST_CHECK( E_OK == ercd, "wai_sem bad ercd" );
259 ercd = ref_sem( &sem_info, 2 ); 263 ercd = ref_sem( &sem_info, 2 );
260 CYG_TEST_CHECK( E_OK == ercd, "ref_sem bad ercd" ); 264 CYG_TEST_CHECK( E_OK == ercd, "ref_sem bad ercd" );
261 CYG_TEST_CHECK( 0 == sem_info.wtsk, "sem.wtsk should be 0" ); 265 CYG_TEST_CHECK( 0 == sem_info.wtsk, "sem.wtsk should be 0" );
262 CYG_TEST_CHECK( 0 == sem_info.semcnt, "semcnt should be 0" ); 266 CYG_TEST_CHECK( 0 == sem_info.semcnt, "semcnt should be 0" );
263 intercom = 0; 267 intercom = 0;
264 ercd = dly_tsk( 10 ); 268 ercd = dly_tsk( delay );
265 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" ); 269 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
266 intercom = 1; 270 intercom = 1;
267 ercd = ref_sem( &sem_info, 2 ); 271 ercd = ref_sem( &sem_info, 2 );
268 CYG_TEST_CHECK( E_OK == ercd, "ref_sem bad ercd" ); 272 CYG_TEST_CHECK( E_OK == ercd, "ref_sem bad ercd" );
269 CYG_TEST_CHECK( 0 != sem_info.wtsk, "sem.wtsk should be non0" ); 273 CYG_TEST_CHECK( 0 != sem_info.wtsk, "sem.wtsk should be non0" );
276 #if 1 280 #if 1
277 CYG_TEST_CHECK( 0 == sem_info.semcnt, "semcnt should be 0" ); 281 CYG_TEST_CHECK( 0 == sem_info.semcnt, "semcnt should be 0" );
278 #else // old, non-uITRON semantics 282 #else // old, non-uITRON semantics
279 CYG_TEST_CHECK( 1 == sem_info.semcnt, "semcnt should be 1" ); 283 CYG_TEST_CHECK( 1 == sem_info.semcnt, "semcnt should be 1" );
280 #endif 284 #endif
281 ercd = dly_tsk( 10 ); // let task 2 pick up the signal 285 ercd = dly_tsk( delay ); // let task 2 pick up the signal
282 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" ); 286 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
283 ercd = ref_sem( &sem_info, 2 ); 287 ercd = ref_sem( &sem_info, 2 );
284 CYG_TEST_CHECK( E_OK == ercd, "ref_sem bad ercd" ); 288 CYG_TEST_CHECK( E_OK == ercd, "ref_sem bad ercd" );
285 CYG_TEST_CHECK( 0 == sem_info.wtsk, "sem.wtsk should be 0" ); 289 CYG_TEST_CHECK( 0 == sem_info.wtsk, "sem.wtsk should be 0" );
286 CYG_TEST_CHECK( 0 == sem_info.semcnt, "semcnt should be 0" ); 290 CYG_TEST_CHECK( 0 == sem_info.semcnt, "semcnt should be 0" );
319 #endif 323 #endif
320 ercd = pol_flg( &flagptn, 2, 7, 34657 ); 324 ercd = pol_flg( &flagptn, 2, 7, 34657 );
321 CYG_TEST_CHECK( E_PAR == ercd, "pol_flg bad ercd !E_PAR" ); 325 CYG_TEST_CHECK( E_PAR == ercd, "pol_flg bad ercd !E_PAR" );
322 ercd = pol_flg( &flagptn, 2, 0, TWF_ANDW ); 326 ercd = pol_flg( &flagptn, 2, 0, TWF_ANDW );
323 CYG_TEST_CHECK( E_PAR == ercd, "pol_flg bad ercd !E_PAR" ); 327 CYG_TEST_CHECK( E_PAR == ercd, "pol_flg bad ercd !E_PAR" );
324 ercd = twai_flg( &flagptn, -6, 7, TWF_ANDW, 10 ); 328 ercd = twai_flg( &flagptn, -6, 7, TWF_ANDW, delay );
325 CYG_TEST_CHECK( E_ID == ercd, "twai_flg bad ercd !E_ID" ); 329 CYG_TEST_CHECK( E_ID == ercd, "twai_flg bad ercd !E_ID" );
326 ercd = twai_flg( &flagptn, 99, 7, TWF_ANDW, 10 ); 330 ercd = twai_flg( &flagptn, 99, 7, TWF_ANDW, delay );
327 CYG_TEST_CHECK( E_ID == ercd, "twai_flg bad ercd !E_ID" ); 331 CYG_TEST_CHECK( E_ID == ercd, "twai_flg bad ercd !E_ID" );
328 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR 332 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR
329 ercd = twai_flg( NULL, 2, 7, TWF_ANDW, 10 ); 333 ercd = twai_flg( NULL, 2, 7, TWF_ANDW, delay );
330 CYG_TEST_CHECK( E_PAR == ercd, "twai_flg bad ercd !E_PAR" ); 334 CYG_TEST_CHECK( E_PAR == ercd, "twai_flg bad ercd !E_PAR" );
331 #endif 335 #endif
332 ercd = twai_flg( &flagptn, 2, 7, 34657, 10 ); 336 ercd = twai_flg( &flagptn, 2, 7, 34657, delay );
333 CYG_TEST_CHECK( E_PAR == ercd, "twai_flg bad ercd !E_PAR" ); 337 CYG_TEST_CHECK( E_PAR == ercd, "twai_flg bad ercd !E_PAR" );
334 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, -999 ); 338 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, -999 );
335 CYG_TEST_CHECK( E_PAR == ercd, "twai_flg bad ercd !E_PAR" ); 339 CYG_TEST_CHECK( E_PAR == ercd, "twai_flg bad ercd !E_PAR" );
336 ercd = twai_flg( &flagptn, 2, 0, TWF_ANDW, 10 ); 340 ercd = twai_flg( &flagptn, 2, 0, TWF_ANDW, delay );
337 CYG_TEST_CHECK( E_PAR == ercd, "twai_flg bad ercd !E_PAR" ); 341 CYG_TEST_CHECK( E_PAR == ercd, "twai_flg bad ercd !E_PAR" );
338 ercd = ref_flg( &flg_info, -6 ); 342 ercd = ref_flg( &flg_info, -6 );
339 CYG_TEST_CHECK( E_ID == ercd, "ref_flg bad ercd !E_ID" ); 343 CYG_TEST_CHECK( E_ID == ercd, "ref_flg bad ercd !E_ID" );
340 ercd = ref_flg( &flg_info, 99 ); 344 ercd = ref_flg( &flg_info, 99 );
341 CYG_TEST_CHECK( E_ID == ercd, "ref_flg bad ercd !E_ID" ); 345 CYG_TEST_CHECK( E_ID == ercd, "ref_flg bad ercd !E_ID" );
347 #endif // we can test bad param error returns 351 #endif // we can test bad param error returns
348 352
349 // check the waitable functions versus dispatch disable 353 // check the waitable functions versus dispatch disable
350 ercd = pol_flg( &flagptn, 2, 7, TWF_ANDW ); 354 ercd = pol_flg( &flagptn, 2, 7, TWF_ANDW );
351 CYG_TEST_CHECK( E_TMOUT == ercd, "pol_flg bad ercd !E_TMOUT" ); 355 CYG_TEST_CHECK( E_TMOUT == ercd, "pol_flg bad ercd !E_TMOUT" );
352 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, 10 ); 356 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, delay );
353 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_flg bad ercd !E_TMOUT" ); 357 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_flg bad ercd !E_TMOUT" );
354 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, TMO_POL ); 358 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, TMO_POL );
355 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_flg(POL) bad ercd !E_TMOUT" ); 359 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_flg(POL) bad ercd !E_TMOUT" );
356 ercd = dis_dsp(); 360 ercd = dis_dsp();
357 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" ); 361 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" );
358 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS 362 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
359 ercd = wai_flg( &flagptn, 2, 7, TWF_ANDW ); 363 ercd = wai_flg( &flagptn, 2, 7, TWF_ANDW );
360 CYG_TEST_CHECK( E_CTX == ercd, "wai_flg bad ercd !E_CTX" ); 364 CYG_TEST_CHECK( E_CTX == ercd, "wai_flg bad ercd !E_CTX" );
361 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, 10 ); 365 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, delay );
362 CYG_TEST_CHECK( E_CTX == ercd, "twai_flg bad ercd !E_CTX" ); 366 CYG_TEST_CHECK( E_CTX == ercd, "twai_flg bad ercd !E_CTX" );
363 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, TMO_FEVR ); 367 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, TMO_FEVR );
364 CYG_TEST_CHECK( E_CTX == ercd, "twai_flg(FEVR) bad ercd !E_CTX" ); 368 CYG_TEST_CHECK( E_CTX == ercd, "twai_flg(FEVR) bad ercd !E_CTX" );
365 #endif // we can test bad param error returns 369 #endif // we can test bad param error returns
366 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, TMO_POL ); 370 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, TMO_POL );
369 CYG_TEST_CHECK( E_TMOUT == ercd, "pol_flg bad ercd !E_TMOUT" ); 373 CYG_TEST_CHECK( E_TMOUT == ercd, "pol_flg bad ercd !E_TMOUT" );
370 ercd = ena_dsp(); 374 ercd = ena_dsp();
371 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" ); 375 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" );
372 ercd = pol_flg( &flagptn, 2, 7, TWF_ANDW ); 376 ercd = pol_flg( &flagptn, 2, 7, TWF_ANDW );
373 CYG_TEST_CHECK( E_TMOUT == ercd, "pol_flg bad ercd !E_TMOUT" ); 377 CYG_TEST_CHECK( E_TMOUT == ercd, "pol_flg bad ercd !E_TMOUT" );
374 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, 10 ); 378 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, delay );
375 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_flg bad ercd !E_TMOUT" ); 379 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_flg bad ercd !E_TMOUT" );
376 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, TMO_POL ); 380 ercd = twai_flg( &flagptn, 2, 7, TWF_ANDW, TMO_POL );
377 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_flg(POL) bad ercd !E_TMOUT" ); 381 CYG_TEST_CHECK( E_TMOUT == ercd, "twai_flg(POL) bad ercd !E_TMOUT" );
378 CYG_TEST_PASS( "bad calls: wai_flg, twai_flg with dis_dsp" ); 382 CYG_TEST_PASS( "bad calls: wai_flg, twai_flg with dis_dsp" );
379 383
381 ercd = ref_flg( &flg_info, 2 ); 385 ercd = ref_flg( &flg_info, 2 );
382 CYG_TEST_CHECK( E_OK == ercd, "ref_flg bad ercd" ); 386 CYG_TEST_CHECK( E_OK == ercd, "ref_flg bad ercd" );
383 CYG_TEST_CHECK( 0 == flg_info.wtsk, "flg.wtsk should be non0" ); 387 CYG_TEST_CHECK( 0 == flg_info.wtsk, "flg.wtsk should be non0" );
384 CYG_TEST_CHECK( 0 == flg_info.flgptn, "flgptn should be 0" ); 388 CYG_TEST_CHECK( 0 == flg_info.flgptn, "flgptn should be 0" );
385 intercom = 0; 389 intercom = 0;
386 ercd = dly_tsk( 10 ); // let task 2 start waiting 390 ercd = dly_tsk( delay ); // let task 2 start waiting
387 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" ); 391 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
388 intercom = 1; 392 intercom = 1;
389 ercd = ref_flg( &flg_info, 2 ); 393 ercd = ref_flg( &flg_info, 2 );
390 CYG_TEST_CHECK( E_OK == ercd, "ref_flg bad ercd" ); 394 CYG_TEST_CHECK( E_OK == ercd, "ref_flg bad ercd" );
391 CYG_TEST_CHECK( 0 != flg_info.wtsk, "flg.wtsk should be non0" ); 395 CYG_TEST_CHECK( 0 != flg_info.wtsk, "flg.wtsk should be non0" );
392 CYG_TEST_CHECK( 0 == flg_info.flgptn, "flgptn should be 0" ); 396 CYG_TEST_CHECK( 0 == flg_info.flgptn, "flgptn should be 0" );
393 ercd = set_flg( 2, 0x5555 ); 397 ercd = set_flg( 2, 0x5555 );
394 CYG_TEST_CHECK( E_OK == ercd, "sig_flg bad ercd" ); 398 CYG_TEST_CHECK( E_OK == ercd, "sig_flg bad ercd" );
395 ercd = dly_tsk( 10 ); 399 ercd = dly_tsk( delay );
396 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" ); 400 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
397 ercd = ref_flg( &flg_info, 2 ); 401 ercd = ref_flg( &flg_info, 2 );
398 CYG_TEST_CHECK( E_OK == ercd, "ref_flg bad ercd" ); 402 CYG_TEST_CHECK( E_OK == ercd, "ref_flg bad ercd" );
399 CYG_TEST_CHECK( 0 != flg_info.wtsk, "flg.wtsk should be non0" ); 403 CYG_TEST_CHECK( 0 != flg_info.wtsk, "flg.wtsk should be non0" );
400 CYG_TEST_CHECK( 0x5555 == flg_info.flgptn, "flgptn should be 0x5555" ); 404 CYG_TEST_CHECK( 0x5555 == flg_info.flgptn, "flgptn should be 0x5555" );
401 ercd = clr_flg( 2, 0xF0F0 ); 405 ercd = clr_flg( 2, 0xF0F0 );
402 CYG_TEST_CHECK( E_OK == ercd, "clr_flg bad ercd" ); 406 CYG_TEST_CHECK( E_OK == ercd, "clr_flg bad ercd" );
403 ercd = dly_tsk( 10 ); 407 ercd = dly_tsk( delay );
404 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" ); 408 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
405 ercd = ref_flg( &flg_info, 2 ); 409 ercd = ref_flg( &flg_info, 2 );
406 CYG_TEST_CHECK( E_OK == ercd, "ref_flg bad ercd" ); 410 CYG_TEST_CHECK( E_OK == ercd, "ref_flg bad ercd" );
407 CYG_TEST_CHECK( 0 != flg_info.wtsk, "flg.wtsk should be non0" ); 411 CYG_TEST_CHECK( 0 != flg_info.wtsk, "flg.wtsk should be non0" );
408 CYG_TEST_CHECK( 0x5050 == flg_info.flgptn, "flgptn should be 0x5050" ); 412 CYG_TEST_CHECK( 0x5050 == flg_info.flgptn, "flgptn should be 0x5050" );
409 ercd = set_flg( 2, 0xFFFF ); 413 ercd = set_flg( 2, 0xFFFF );
410 CYG_TEST_CHECK( E_OK == ercd, "sig_flg bad ercd" ); 414 CYG_TEST_CHECK( E_OK == ercd, "sig_flg bad ercd" );
411 ercd = dly_tsk( 10 ); 415 ercd = dly_tsk( delay );
412 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" ); 416 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
413 ercd = ref_flg( &flg_info, 2 ); 417 ercd = ref_flg( &flg_info, 2 );
414 CYG_TEST_CHECK( E_OK == ercd, "ref_flg bad ercd" ); 418 CYG_TEST_CHECK( E_OK == ercd, "ref_flg bad ercd" );
415 CYG_TEST_CHECK( 0 == flg_info.wtsk, "flg.wtsk should be 0" ); 419 CYG_TEST_CHECK( 0 == flg_info.wtsk, "flg.wtsk should be 0" );
416 CYG_TEST_CHECK( 0xFFFF == flg_info.flgptn, "flgptn should be 0xFFFF" ); 420 CYG_TEST_CHECK( 0xFFFF == flg_info.flgptn, "flgptn should be 0xFFFF" );
441 CYG_TEST_CHECK( E_ID == ercd, "prcv_msg bad ercd !E_ID" ); 445 CYG_TEST_CHECK( E_ID == ercd, "prcv_msg bad ercd !E_ID" );
442 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR 446 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR
443 ercd = prcv_msg( NULL, 2 ); 447 ercd = prcv_msg( NULL, 2 );
444 CYG_TEST_CHECK( E_PAR == ercd, "prcv_msg bad ercd !E_PAR" ); 448 CYG_TEST_CHECK( E_PAR == ercd, "prcv_msg bad ercd !E_PAR" );
445 #endif 449 #endif
446 ercd = trcv_msg( &rxptr, -6, 10 ); 450 ercd = trcv_msg( &rxptr, -6, delay );
447 CYG_TEST_CHECK( E_ID == ercd, "trcv_msg bad ercd !E_ID" ); 451 CYG_TEST_CHECK( E_ID == ercd, "trcv_msg bad ercd !E_ID" );
448 ercd = trcv_msg( &rxptr, 99, 10 ); 452 ercd = trcv_msg( &rxptr, 99, delay );
449 CYG_TEST_CHECK( E_ID == ercd, "trcv_msg bad ercd !E_ID" ); 453 CYG_TEST_CHECK( E_ID == ercd, "trcv_msg bad ercd !E_ID" );
450 ercd = trcv_msg( &rxptr, 2, -999 ); 454 ercd = trcv_msg( &rxptr, 2, -999 );
451 CYG_TEST_CHECK( E_PAR == ercd, "trcv_msg bad ercd !E_PAR" ); 455 CYG_TEST_CHECK( E_PAR == ercd, "trcv_msg bad ercd !E_PAR" );
452 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR 456 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR
453 ercd = trcv_msg( NULL, 2, 10 ); 457 ercd = trcv_msg( NULL, 2, delay );
454 CYG_TEST_CHECK( E_PAR == ercd, "trcv_msg bad ercd !E_PAR" ); 458 CYG_TEST_CHECK( E_PAR == ercd, "trcv_msg bad ercd !E_PAR" );
455 #endif 459 #endif
456 ercd = ref_mbx( &mbx_info, -6 ); 460 ercd = ref_mbx( &mbx_info, -6 );
457 CYG_TEST_CHECK( E_ID == ercd, "ref_mbx bad ercd !E_ID" ); 461 CYG_TEST_CHECK( E_ID == ercd, "ref_mbx bad ercd !E_ID" );
458 ercd = ref_mbx( &mbx_info, 99 ); 462 ercd = ref_mbx( &mbx_info, 99 );
465 #endif // we can test bad param error returns 469 #endif // we can test bad param error returns
466 470
467 // check the waitable functions versus dispatch disable 471 // check the waitable functions versus dispatch disable
468 ercd = prcv_msg( &rxptr, 2 ); 472 ercd = prcv_msg( &rxptr, 2 );
469 CYG_TEST_CHECK( E_TMOUT == ercd, "prcv_msg bad ercd !E_TMOUT" ); 473 CYG_TEST_CHECK( E_TMOUT == ercd, "prcv_msg bad ercd !E_TMOUT" );
470 ercd = trcv_msg( &rxptr, 2, 10 ); 474 ercd = trcv_msg( &rxptr, 2, delay );
471 CYG_TEST_CHECK( E_TMOUT == ercd, "trcv_msg bad ercd !E_TMOUT" ); 475 CYG_TEST_CHECK( E_TMOUT == ercd, "trcv_msg bad ercd !E_TMOUT" );
472 ercd = trcv_msg( &rxptr, 2, TMO_POL ); 476 ercd = trcv_msg( &rxptr, 2, TMO_POL );
473 CYG_TEST_CHECK( E_TMOUT == ercd, "trcv_msg(POL) bad ercd !E_TMOUT" ); 477 CYG_TEST_CHECK( E_TMOUT == ercd, "trcv_msg(POL) bad ercd !E_TMOUT" );
474 ercd = dis_dsp(); 478 ercd = dis_dsp();
475 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" ); 479 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" );
476 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS 480 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
477 ercd = rcv_msg( &rxptr, 2 ); 481 ercd = rcv_msg( &rxptr, 2 );
478 CYG_TEST_CHECK( E_CTX == ercd, "rcv_msg bad ercd !E_CTX" ); 482 CYG_TEST_CHECK( E_CTX == ercd, "rcv_msg bad ercd !E_CTX" );
479 ercd = trcv_msg( &rxptr, 2, 10 ); 483 ercd = trcv_msg( &rxptr, 2, delay );
480 CYG_TEST_CHECK( E_CTX == ercd, "trcv_msg bad ercd !E_CTX" ); 484 CYG_TEST_CHECK( E_CTX == ercd, "trcv_msg bad ercd !E_CTX" );
481 ercd = trcv_msg( &rxptr, 2, TMO_FEVR ); 485 ercd = trcv_msg( &rxptr, 2, TMO_FEVR );
482 CYG_TEST_CHECK( E_CTX == ercd, "trcv_msg(FEVR) bad ercd !E_CTX" ); 486 CYG_TEST_CHECK( E_CTX == ercd, "trcv_msg(FEVR) bad ercd !E_CTX" );
483 #endif // we can test bad param error returns 487 #endif // we can test bad param error returns
484 ercd = trcv_msg( &rxptr, 2, TMO_POL ); 488 ercd = trcv_msg( &rxptr, 2, TMO_POL );
487 CYG_TEST_CHECK( E_TMOUT == ercd, "prcv_msg bad ercd !E_TMOUT" ); 491 CYG_TEST_CHECK( E_TMOUT == ercd, "prcv_msg bad ercd !E_TMOUT" );
488 ercd = ena_dsp(); 492 ercd = ena_dsp();
489 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" ); 493 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" );
490 ercd = prcv_msg( &rxptr, 2 ); 494 ercd = prcv_msg( &rxptr, 2 );
491 CYG_TEST_CHECK( E_TMOUT == ercd, "prcv_msg bad ercd !E_TMOUT" ); 495 CYG_TEST_CHECK( E_TMOUT == ercd, "prcv_msg bad ercd !E_TMOUT" );
492 ercd = trcv_msg( &rxptr, 2, 10 ); 496 ercd = trcv_msg( &rxptr, 2, delay );
493 CYG_TEST_CHECK( E_TMOUT == ercd, "trcv_msg bad ercd !E_TMOUT" ); 497 CYG_TEST_CHECK( E_TMOUT == ercd, "trcv_msg bad ercd !E_TMOUT" );
494 ercd = trcv_msg( &rxptr, 2, TMO_POL ); 498 ercd = trcv_msg( &rxptr, 2, TMO_POL );
495 CYG_TEST_CHECK( E_TMOUT == ercd, "trcv_msg(POL) bad ercd !E_TMOUT" ); 499 CYG_TEST_CHECK( E_TMOUT == ercd, "trcv_msg(POL) bad ercd !E_TMOUT" );
496 CYG_TEST_PASS( "bad calls: rcv_msg, trcv_msg with dis_dsp" ); 500 CYG_TEST_PASS( "bad calls: rcv_msg, trcv_msg with dis_dsp" );
497 501
499 ercd = ref_mbx( &mbx_info, 2 ); 503 ercd = ref_mbx( &mbx_info, 2 );
500 CYG_TEST_CHECK( E_OK == ercd, "ref_mbx bad ercd" ); 504 CYG_TEST_CHECK( E_OK == ercd, "ref_mbx bad ercd" );
501 CYG_TEST_CHECK( 0 == mbx_info.wtsk, "mbx.wtsk should be 0" ); 505 CYG_TEST_CHECK( 0 == mbx_info.wtsk, "mbx.wtsk should be 0" );
502 CYG_TEST_CHECK( NADR == mbx_info.pk_msg, "mbx peek should be NADR" ); 506 CYG_TEST_CHECK( NADR == mbx_info.pk_msg, "mbx peek should be NADR" );
503 intercom = 0; 507 intercom = 0;
504 ercd = dly_tsk( 10 ); // let task 2 start waiting 508 ercd = dly_tsk( delay ); // let task 2 start waiting
505 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" ); 509 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
506 intercom = 1; 510 intercom = 1;
507 ercd = ref_mbx( &mbx_info, 2 ); 511 ercd = ref_mbx( &mbx_info, 2 );
508 CYG_TEST_CHECK( E_OK == ercd, "ref_mbx bad ercd" ); 512 CYG_TEST_CHECK( E_OK == ercd, "ref_mbx bad ercd" );
509 CYG_TEST_CHECK( 0 != mbx_info.wtsk, "mbx.wtsk should be non0" ); 513 CYG_TEST_CHECK( 0 != mbx_info.wtsk, "mbx.wtsk should be non0" );
516 #if 1 520 #if 1
517 CYG_TEST_CHECK( NADR == mbx_info.pk_msg, "mbx peek should be NADR" ); 521 CYG_TEST_CHECK( NADR == mbx_info.pk_msg, "mbx peek should be NADR" );
518 #else // old, non-uITRON semantics 522 #else // old, non-uITRON semantics
519 CYG_TEST_CHECK( msgptr == mbx_info.pk_msg, "mbx peek should be msgptr" ); 523 CYG_TEST_CHECK( msgptr == mbx_info.pk_msg, "mbx peek should be msgptr" );
520 #endif 524 #endif
521 ercd = dly_tsk( 10 ); 525 ercd = dly_tsk( delay );
522 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" ); 526 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
523 ercd = ref_mbx( &mbx_info, 2 ); 527 ercd = ref_mbx( &mbx_info, 2 );
524 CYG_TEST_CHECK( E_OK == ercd, "ref_mbx bad ercd" ); 528 CYG_TEST_CHECK( E_OK == ercd, "ref_mbx bad ercd" );
525 CYG_TEST_CHECK( 0 == mbx_info.wtsk, "mbx.wtsk should be 0" ); 529 CYG_TEST_CHECK( 0 == mbx_info.wtsk, "mbx.wtsk should be 0" );
526 CYG_TEST_CHECK( NADR == mbx_info.pk_msg, "mbx peek should be NADR" ); 530 CYG_TEST_CHECK( NADR == mbx_info.pk_msg, "mbx peek should be NADR" );
570 CYG_TEST_CHECK( E_ID == ercd, "pget_blf bad ercd !E_ID" ); 574 CYG_TEST_CHECK( E_ID == ercd, "pget_blf bad ercd !E_ID" );
571 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR 575 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR
572 ercd = pget_blf( NULL, 2 ); 576 ercd = pget_blf( NULL, 2 );
573 CYG_TEST_CHECK( E_PAR == ercd, "pget_blf bad ercd !E_PAR" ); 577 CYG_TEST_CHECK( E_PAR == ercd, "pget_blf bad ercd !E_PAR" );
574 #endif 578 #endif
575 ercd = tget_blf( &blfptr, -6, 10 ); 579 ercd = tget_blf( &blfptr, -6, delay );
576 CYG_TEST_CHECK( E_ID == ercd, "tget_blf bad ercd !E_ID" ); 580 CYG_TEST_CHECK( E_ID == ercd, "tget_blf bad ercd !E_ID" );
577 ercd = tget_blf( &blfptr, 99, 10 ); 581 ercd = tget_blf( &blfptr, 99, delay );
578 CYG_TEST_CHECK( E_ID == ercd, "tget_blf bad ercd !E_ID" ); 582 CYG_TEST_CHECK( E_ID == ercd, "tget_blf bad ercd !E_ID" );
579 ercd = tget_blf( &blfptr, 2, -999 ); 583 ercd = tget_blf( &blfptr, 2, -999 );
580 CYG_TEST_CHECK( E_PAR == ercd, "tget_blf bad ercd !E_PAR" ); 584 CYG_TEST_CHECK( E_PAR == ercd, "tget_blf bad ercd !E_PAR" );
581 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR 585 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR
582 ercd = tget_blf( NULL, 2, 10 ); 586 ercd = tget_blf( NULL, 2, delay );
583 CYG_TEST_CHECK( E_PAR == ercd, "tget_blf bad ercd !E_PAR" ); 587 CYG_TEST_CHECK( E_PAR == ercd, "tget_blf bad ercd !E_PAR" );
584 #endif 588 #endif
585 ercd = ref_mpf( &mpf_info, -6 ); 589 ercd = ref_mpf( &mpf_info, -6 );
586 CYG_TEST_CHECK( E_ID == ercd, "ref_mpf bad ercd !E_ID" ); 590 CYG_TEST_CHECK( E_ID == ercd, "ref_mpf bad ercd !E_ID" );
587 ercd = ref_mpf( &mpf_info, 99 ); 591 ercd = ref_mpf( &mpf_info, 99 );
596 // check the waitable functions versus dispatch disable 600 // check the waitable functions versus dispatch disable
597 ercd = pget_blf( &blfptr, 2 ); 601 ercd = pget_blf( &blfptr, 2 );
598 CYG_TEST_CHECK( E_OK == ercd, "pget_blf bad ercd" ); 602 CYG_TEST_CHECK( E_OK == ercd, "pget_blf bad ercd" );
599 ercd = rel_blf( 2, blfptr ); 603 ercd = rel_blf( 2, blfptr );
600 CYG_TEST_CHECK( E_OK == ercd, "rel_blf bad ercd" ); 604 CYG_TEST_CHECK( E_OK == ercd, "rel_blf bad ercd" );
601 ercd = tget_blf( &blfptr, 2, 10 ); 605 ercd = tget_blf( &blfptr, 2, delay );
602 CYG_TEST_CHECK( E_OK == ercd, "tget_blf bad ercd" ); 606 CYG_TEST_CHECK( E_OK == ercd, "tget_blf bad ercd" );
603 ercd = dis_dsp(); 607 ercd = dis_dsp();
604 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" ); 608 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" );
605 ercd = rel_blf( 2, blfptr ); 609 ercd = rel_blf( 2, blfptr );
606 CYG_TEST_CHECK( E_OK == ercd, "rel_blf bad ercd" ); 610 CYG_TEST_CHECK( E_OK == ercd, "rel_blf bad ercd" );
607 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS 611 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
608 ercd = get_blf( &blfptr, 2 ); 612 ercd = get_blf( &blfptr, 2 );
609 CYG_TEST_CHECK( E_CTX == ercd, "get_blf bad ercd !E_CTX" ); 613 CYG_TEST_CHECK( E_CTX == ercd, "get_blf bad ercd !E_CTX" );
610 ercd = tget_blf( &blfptr, 2, 10 ); 614 ercd = tget_blf( &blfptr, 2, delay );
611 CYG_TEST_CHECK( E_CTX == ercd, "tget_blf bad ercd !E_CTX" ); 615 CYG_TEST_CHECK( E_CTX == ercd, "tget_blf bad ercd !E_CTX" );
612 #endif // we can test bad param error returns 616 #endif // we can test bad param error returns
613 ercd = ena_dsp(); 617 ercd = ena_dsp();
614 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" ); 618 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" );
615 ercd = pget_blf( &blfptr, 2 ); 619 ercd = pget_blf( &blfptr, 2 );
616 CYG_TEST_CHECK( E_OK == ercd, "pget_blf bad ercd" ); 620 CYG_TEST_CHECK( E_OK == ercd, "pget_blf bad ercd" );
617 ercd = rel_blf( 2, blfptr ); 621 ercd = rel_blf( 2, blfptr );
618 CYG_TEST_CHECK( E_OK == ercd, "rel_blf bad ercd" ); 622 CYG_TEST_CHECK( E_OK == ercd, "rel_blf bad ercd" );
619 ercd = tget_blf( &blfptr, 2, 10 ); 623 ercd = tget_blf( &blfptr, 2, delay );
620 CYG_TEST_CHECK( E_OK == ercd, "tget_blf bad ercd" ); 624 CYG_TEST_CHECK( E_OK == ercd, "tget_blf bad ercd" );
621 ercd = rel_blf( 2, blfptr ); 625 ercd = rel_blf( 2, blfptr );
622 CYG_TEST_CHECK( E_OK == ercd, "rel_blf bad ercd" ); 626 CYG_TEST_CHECK( E_OK == ercd, "rel_blf bad ercd" );
623 // consume the whole thing then do it again, expecting E_TMOUT 627 // consume the whole thing then do it again, expecting E_TMOUT
624 while ( E_OK == (ercd = pget_blf( &blfptr, 2 ) ) ) 628 while ( E_OK == (ercd = pget_blf( &blfptr, 2 ) ) )
625 continue; 629 continue;
626 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blf bad ercd !E_TMOUT" ); 630 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blf bad ercd !E_TMOUT" );
627 ercd = pget_blf( &blfptr, 2 ); 631 ercd = pget_blf( &blfptr, 2 );
628 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blf bad ercd !E_TMOUT" ); 632 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blf bad ercd !E_TMOUT" );
629 ercd = tget_blf( &blfptr, 2, 10 ); 633 ercd = tget_blf( &blfptr, 2, delay );
630 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blf bad ercd !E_TMOUT" ); 634 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blf bad ercd !E_TMOUT" );
631 ercd = tget_blf( &blfptr, 2, TMO_POL ); 635 ercd = tget_blf( &blfptr, 2, TMO_POL );
632 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blf(POL) bad ercd !E_TMOUT" ); 636 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blf(POL) bad ercd !E_TMOUT" );
633 ercd = dis_dsp(); 637 ercd = dis_dsp();
634 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" ); 638 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" );
635 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS 639 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
636 ercd = get_blf( &blfptr, 2 ); 640 ercd = get_blf( &blfptr, 2 );
637 CYG_TEST_CHECK( E_CTX == ercd, "get_blf bad ercd !E_CTX" ); 641 CYG_TEST_CHECK( E_CTX == ercd, "get_blf bad ercd !E_CTX" );
638 ercd = tget_blf( &blfptr, 2, 10 ); 642 ercd = tget_blf( &blfptr, 2, delay );
639 CYG_TEST_CHECK( E_CTX == ercd, "tget_blf bad ercd !E_CTX" ); 643 CYG_TEST_CHECK( E_CTX == ercd, "tget_blf bad ercd !E_CTX" );
640 ercd = tget_blf( &blfptr, 2, TMO_FEVR ); 644 ercd = tget_blf( &blfptr, 2, TMO_FEVR );
641 CYG_TEST_CHECK( E_CTX == ercd, "tget_blf(FEVR) bad ercd !E_CTX" ); 645 CYG_TEST_CHECK( E_CTX == ercd, "tget_blf(FEVR) bad ercd !E_CTX" );
642 #endif // we can test bad param error returns 646 #endif // we can test bad param error returns
643 ercd = tget_blf( &blfptr, 2, TMO_POL ); 647 ercd = tget_blf( &blfptr, 2, TMO_POL );
644 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blf(POL) bad ercd !E_TMOUT" ); 648 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blf(POL) bad ercd !E_TMOUT" );
645 ercd = ena_dsp(); 649 ercd = ena_dsp();
646 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" ); 650 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" );
647 ercd = pget_blf( &blfptr, 2 ); 651 ercd = pget_blf( &blfptr, 2 );
648 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blf bad ercd !E_TMOUT" ); 652 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blf bad ercd !E_TMOUT" );
649 ercd = tget_blf( &blfptr, 2, 10 ); 653 ercd = tget_blf( &blfptr, 2, delay );
650 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blf bad ercd !E_TMOUT" ); 654 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blf bad ercd !E_TMOUT" );
651 ercd = tget_blf( &blfptr, 2, TMO_POL ); 655 ercd = tget_blf( &blfptr, 2, TMO_POL );
652 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blf(POL) bad ercd !E_TMOUT" ); 656 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blf(POL) bad ercd !E_TMOUT" );
653 CYG_TEST_PASS( "bad calls: rel_blf, [pt]get_blf with ena_dsp" ); 657 CYG_TEST_PASS( "bad calls: rel_blf, [pt]get_blf with ena_dsp" );
654 658
656 ercd = ref_mpf( &mpf_info, 2 ); 660 ercd = ref_mpf( &mpf_info, 2 );
657 CYG_TEST_CHECK( E_OK == ercd, "ref_mpf bad ercd" ); 661 CYG_TEST_CHECK( E_OK == ercd, "ref_mpf bad ercd" );
658 CYG_TEST_CHECK( 0 == mpf_info.wtsk, "mpf.wtsk should be 0" ); 662 CYG_TEST_CHECK( 0 == mpf_info.wtsk, "mpf.wtsk should be 0" );
659 CYG_TEST_CHECK( 0 == mpf_info.frbcnt, "mpf.frbcnt should be 0" ); 663 CYG_TEST_CHECK( 0 == mpf_info.frbcnt, "mpf.frbcnt should be 0" );
660 intercom = 0; 664 intercom = 0;
661 ercd = dly_tsk( 10 ); // let task 2 start waiting 665 ercd = dly_tsk( delay ); // let task 2 start waiting
662 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" ); 666 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
663 intercom = 1; 667 intercom = 1;
664 ercd = ref_mpf( &mpf_info, 2 ); 668 ercd = ref_mpf( &mpf_info, 2 );
665 CYG_TEST_CHECK( E_OK == ercd, "ref_mpf bad ercd" ); 669 CYG_TEST_CHECK( E_OK == ercd, "ref_mpf bad ercd" );
666 CYG_TEST_CHECK( 0 != mpf_info.wtsk, "mpf.wtsk should be non0" ); 670 CYG_TEST_CHECK( 0 != mpf_info.wtsk, "mpf.wtsk should be non0" );
673 #if 1 677 #if 1
674 CYG_TEST_CHECK( 0 == mpf_info.frbcnt, "mpf.frbcnt should be 0" ); 678 CYG_TEST_CHECK( 0 == mpf_info.frbcnt, "mpf.frbcnt should be 0" );
675 #else // old, non-uITRON semantics 679 #else // old, non-uITRON semantics
676 CYG_TEST_CHECK( 0 != mpf_info.frbcnt, "mpf.frbcnt should be non0" ); 680 CYG_TEST_CHECK( 0 != mpf_info.frbcnt, "mpf.frbcnt should be non0" );
677 #endif 681 #endif
678 ercd = dly_tsk( 10 ); // let task 2 start waiting 682 ercd = dly_tsk( delay ); // let task 2 start waiting
679 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" ); 683 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
680 ercd = ref_mpf( &mpf_info, 2 ); 684 ercd = ref_mpf( &mpf_info, 2 );
681 CYG_TEST_CHECK( E_OK == ercd, "ref_mpf bad ercd" ); 685 CYG_TEST_CHECK( E_OK == ercd, "ref_mpf bad ercd" );
682 CYG_TEST_CHECK( 0 == mpf_info.wtsk, "mpf.wtsk should be 0" ); 686 CYG_TEST_CHECK( 0 == mpf_info.wtsk, "mpf.wtsk should be 0" );
683 CYG_TEST_CHECK( 0 == mpf_info.frbcnt, "mpf.frbcnt should be 0" ); 687 CYG_TEST_CHECK( 0 == mpf_info.frbcnt, "mpf.frbcnt should be 0" );
712 CYG_TEST_CHECK( E_ID == ercd, "pget_blk bad ercd !E_ID" ); 716 CYG_TEST_CHECK( E_ID == ercd, "pget_blk bad ercd !E_ID" );
713 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR 717 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR
714 ercd = pget_blk( NULL, 2, 100 ); 718 ercd = pget_blk( NULL, 2, 100 );
715 CYG_TEST_CHECK( E_PAR == ercd, "pget_blk bad ercd !E_PAR" ); 719 CYG_TEST_CHECK( E_PAR == ercd, "pget_blk bad ercd !E_PAR" );
716 #endif 720 #endif
717 ercd = tget_blk( &blkptr, -6, 100, 10 ); 721 ercd = tget_blk( &blkptr, -6, 100, delay );
718 CYG_TEST_CHECK( E_ID == ercd, "tget_blk bad ercd !E_ID" ); 722 CYG_TEST_CHECK( E_ID == ercd, "tget_blk bad ercd !E_ID" );
719 ercd = tget_blk( &blkptr, 99, 100, 10 ); 723 ercd = tget_blk( &blkptr, 99, 100, delay );
720 CYG_TEST_CHECK( E_ID == ercd, "tget_blk bad ercd !E_ID" ); 724 CYG_TEST_CHECK( E_ID == ercd, "tget_blk bad ercd !E_ID" );
721 ercd = tget_blk( &blkptr, 2, 100, -999 ); 725 ercd = tget_blk( &blkptr, 2, 100, -999 );
722 CYG_TEST_CHECK( E_PAR == ercd, "tget_blk bad ercd !E_PAR" ); 726 CYG_TEST_CHECK( E_PAR == ercd, "tget_blk bad ercd !E_PAR" );
723 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR 727 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR
724 ercd = tget_blk( NULL, 2, 100, 10 ); 728 ercd = tget_blk( NULL, 2, 100, delay );
725 CYG_TEST_CHECK( E_PAR == ercd, "tget_blk bad ercd !E_PAR" ); 729 CYG_TEST_CHECK( E_PAR == ercd, "tget_blk bad ercd !E_PAR" );
726 #endif 730 #endif
727 ercd = ref_mpl( &mpl_info, -6 ); 731 ercd = ref_mpl( &mpl_info, -6 );
728 CYG_TEST_CHECK( E_ID == ercd, "ref_mpl bad ercd !E_ID" ); 732 CYG_TEST_CHECK( E_ID == ercd, "ref_mpl bad ercd !E_ID" );
729 ercd = ref_mpl( &mpl_info, 99 ); 733 ercd = ref_mpl( &mpl_info, 99 );
738 // check the waitable functions versus dispatch disable 742 // check the waitable functions versus dispatch disable
739 ercd = pget_blk( &blkptr, 2, 100 ); 743 ercd = pget_blk( &blkptr, 2, 100 );
740 CYG_TEST_CHECK( E_OK == ercd, "pget_blk bad ercd" ); 744 CYG_TEST_CHECK( E_OK == ercd, "pget_blk bad ercd" );
741 ercd = rel_blk( 2, blkptr ); 745 ercd = rel_blk( 2, blkptr );
742 CYG_TEST_CHECK( E_OK == ercd, "rel_blk bad ercd" ); 746 CYG_TEST_CHECK( E_OK == ercd, "rel_blk bad ercd" );
743 ercd = tget_blk( &blkptr, 2, 100, 10 ); 747 ercd = tget_blk( &blkptr, 2, 100, delay );
744 CYG_TEST_CHECK( E_OK == ercd, "tget_blk bad ercd" ); 748 CYG_TEST_CHECK( E_OK == ercd, "tget_blk bad ercd" );
745 ercd = dis_dsp(); 749 ercd = dis_dsp();
746 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" ); 750 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" );
747 ercd = rel_blk( 2, blkptr ); 751 ercd = rel_blk( 2, blkptr );
748 CYG_TEST_CHECK( E_OK == ercd, "rel_blk bad ercd" ); 752 CYG_TEST_CHECK( E_OK == ercd, "rel_blk bad ercd" );
749 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS 753 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
750 ercd = get_blk( &blkptr, 2, 100 ); 754 ercd = get_blk( &blkptr, 2, 100 );
751 CYG_TEST_CHECK( E_CTX == ercd, "get_blk bad ercd !E_CTX" ); 755 CYG_TEST_CHECK( E_CTX == ercd, "get_blk bad ercd !E_CTX" );
752 ercd = tget_blk( &blkptr, 2, 100, 10 ); 756 ercd = tget_blk( &blkptr, 2, 100, delay );
753 CYG_TEST_CHECK( E_CTX == ercd, "tget_blk bad ercd !E_CTX" ); 757 CYG_TEST_CHECK( E_CTX == ercd, "tget_blk bad ercd !E_CTX" );
754 #endif // we can test bad param error returns 758 #endif // we can test bad param error returns
755 ercd = ena_dsp(); 759 ercd = ena_dsp();
756 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" ); 760 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" );
757 ercd = pget_blk( &blkptr, 2, 100 ); 761 ercd = pget_blk( &blkptr, 2, 100 );
758 CYG_TEST_CHECK( E_OK == ercd, "pget_blk bad ercd" ); 762 CYG_TEST_CHECK( E_OK == ercd, "pget_blk bad ercd" );
759 ercd = rel_blk( 2, blkptr ); 763 ercd = rel_blk( 2, blkptr );
760 CYG_TEST_CHECK( E_OK == ercd, "rel_blk bad ercd" ); 764 CYG_TEST_CHECK( E_OK == ercd, "rel_blk bad ercd" );
761 ercd = tget_blk( &blkptr, 2, 100, 10 ); 765 ercd = tget_blk( &blkptr, 2, 100, delay );
762 CYG_TEST_CHECK( E_OK == ercd, "tget_blk bad ercd" ); 766 CYG_TEST_CHECK( E_OK == ercd, "tget_blk bad ercd" );
763 ercd = rel_blk( 2, blkptr ); 767 ercd = rel_blk( 2, blkptr );
764 CYG_TEST_CHECK( E_OK == ercd, "rel_blk bad ercd" ); 768 CYG_TEST_CHECK( E_OK == ercd, "rel_blk bad ercd" );
765 // consume the whole thing then do it again, expecting E_TMOUT 769 // consume the whole thing then do it again, expecting E_TMOUT
766 while ( E_OK == (ercd = pget_blk( &blkptr, 2, 100 ) ) ) 770 while ( E_OK == (ercd = pget_blk( &blkptr, 2, 100 ) ) )
767 continue; 771 continue;
768 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blk bad ercd !E_TMOUT" ); 772 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blk bad ercd !E_TMOUT" );
769 ercd = pget_blk( &blkptr, 2, 100 ); 773 ercd = pget_blk( &blkptr, 2, 100 );
770 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blk bad ercd !E_TMOUT" ); 774 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blk bad ercd !E_TMOUT" );
771 ercd = tget_blk( &blkptr, 2, 100, 10 ); 775 ercd = tget_blk( &blkptr, 2, 100, delay );
772 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blk bad ercd !E_TMOUT" ); 776 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blk bad ercd !E_TMOUT" );
773 ercd = tget_blk( &blkptr, 2, 100, TMO_POL ); 777 ercd = tget_blk( &blkptr, 2, 100, TMO_POL );
774 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blk(POL) bad ercd !E_TMOUT" ); 778 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blk(POL) bad ercd !E_TMOUT" );
775 ercd = dis_dsp(); 779 ercd = dis_dsp();
776 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" ); 780 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" );
777 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS 781 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
778 ercd = get_blk( &blkptr, 2, 100 ); 782 ercd = get_blk( &blkptr, 2, 100 );
779 CYG_TEST_CHECK( E_CTX == ercd, "get_blk bad ercd !E_CTX" ); 783 CYG_TEST_CHECK( E_CTX == ercd, "get_blk bad ercd !E_CTX" );
780 ercd = tget_blk( &blkptr, 2, 100, 10 ); 784 ercd = tget_blk( &blkptr, 2, 100, delay );
781 CYG_TEST_CHECK( E_CTX == ercd, "tget_blk bad ercd !E_CTX" ); 785 CYG_TEST_CHECK( E_CTX == ercd, "tget_blk bad ercd !E_CTX" );
782 ercd = tget_blk( &blkptr, 2, 100, TMO_FEVR ); 786 ercd = tget_blk( &blkptr, 2, 100, TMO_FEVR );
783 CYG_TEST_CHECK( E_CTX == ercd, "tget_blk(FEVR) bad ercd !E_CTX" ); 787 CYG_TEST_CHECK( E_CTX == ercd, "tget_blk(FEVR) bad ercd !E_CTX" );
784 #endif // we can test bad param error returns 788 #endif // we can test bad param error returns
785 ercd = tget_blk( &blkptr, 2, 100, TMO_POL ); 789 ercd = tget_blk( &blkptr, 2, 100, TMO_POL );
786 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blk(POL) bad ercd !E_TMOUT" ); 790 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blk(POL) bad ercd !E_TMOUT" );
787 ercd = ena_dsp(); 791 ercd = ena_dsp();
788 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" ); 792 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" );
789 ercd = pget_blk( &blkptr, 2, 100 ); 793 ercd = pget_blk( &blkptr, 2, 100 );
790 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blk bad ercd !E_TMOUT" ); 794 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blk bad ercd !E_TMOUT" );
791 ercd = tget_blk( &blkptr, 2, 100, 10 ); 795 ercd = tget_blk( &blkptr, 2, 100, delay );
792 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blk bad ercd !E_TMOUT" ); 796 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blk bad ercd !E_TMOUT" );
793 ercd = tget_blk( &blkptr, 2, 100, TMO_POL ); 797 ercd = tget_blk( &blkptr, 2, 100, TMO_POL );
794 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blk(POL) bad ercd !E_TMOUT" ); 798 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blk(POL) bad ercd !E_TMOUT" );
795 CYG_TEST_PASS( "bad calls: rel_blk, [pt]get_blk with ena_dsp" ); 799 CYG_TEST_PASS( "bad calls: rel_blk, [pt]get_blk with ena_dsp" );
796 800
799 CYG_TEST_CHECK( E_OK == ercd, "ref_mpl bad ercd" ); 803 CYG_TEST_CHECK( E_OK == ercd, "ref_mpl bad ercd" );
800 CYG_TEST_CHECK( 0 == mpl_info.wtsk, "mpl.wtsk should be 0" ); 804 CYG_TEST_CHECK( 0 == mpl_info.wtsk, "mpl.wtsk should be 0" );
801 CYG_TEST_CHECK( mpl_info.maxsz <= mpl_info.frsz, 805 CYG_TEST_CHECK( mpl_info.maxsz <= mpl_info.frsz,
802 "mpl.maxsz not < mpl.frsz" ); 806 "mpl.maxsz not < mpl.frsz" );
803 intercom = 0; 807 intercom = 0;
804 ercd = dly_tsk( 10 ); // let task 2 start waiting 808 ercd = dly_tsk( delay ); // let task 2 start waiting
805 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" ); 809 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
806 intercom = 1; 810 intercom = 1;
807 ercd = ref_mpl( &mpl_info, 2 ); 811 ercd = ref_mpl( &mpl_info, 2 );
808 CYG_TEST_CHECK( E_OK == ercd, "ref_mpl bad ercd" ); 812 CYG_TEST_CHECK( E_OK == ercd, "ref_mpl bad ercd" );
809 CYG_TEST_CHECK( 0 != mpl_info.wtsk, "mpl.wtsk should be non0" ); 813 CYG_TEST_CHECK( 0 != mpl_info.wtsk, "mpl.wtsk should be non0" );
810 ercd = rel_blk( 2, blkptr ); 814 ercd = rel_blk( 2, blkptr );
811 CYG_TEST_CHECK( E_OK == ercd, "rel_blk bad ercd" ); 815 CYG_TEST_CHECK( E_OK == ercd, "rel_blk bad ercd" );
812 ercd = ref_mpl( &mpl_info, 2 ); 816 ercd = ref_mpl( &mpl_info, 2 );
813 CYG_TEST_CHECK( E_OK == ercd, "ref_mpl bad ercd" ); 817 CYG_TEST_CHECK( E_OK == ercd, "ref_mpl bad ercd" );
814 CYG_TEST_CHECK( 0 == mpl_info.wtsk, "mpl.wtsk should be 0" ); 818 CYG_TEST_CHECK( 0 == mpl_info.wtsk, "mpl.wtsk should be 0" );
815 ercd = dly_tsk( 10 ); // let task 2 start waiting 819 ercd = dly_tsk( delay ); // let task 2 start waiting
816 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" ); 820 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
817 ercd = ref_mpl( &mpl_info, 2 ); 821 ercd = ref_mpl( &mpl_info, 2 );
818 CYG_TEST_CHECK( E_OK == ercd, "ref_mpl bad ercd" ); 822 CYG_TEST_CHECK( E_OK == ercd, "ref_mpl bad ercd" );
819 CYG_TEST_CHECK( 0 == mpl_info.wtsk, "mpl.wtsk should be 0" ); 823 CYG_TEST_CHECK( 0 == mpl_info.wtsk, "mpl.wtsk should be 0" );
820 CYG_TEST_PASS( "good calls: rel_blk, get_blk with ref_mpl" ); 824 CYG_TEST_PASS( "good calls: rel_blk, get_blk with ref_mpl" );
898 #define N_A_MSG "C++ specific options selected but this is C" 902 #define N_A_MSG "C++ specific options selected but this is C"
899 #endif // not C++ and some C++ specific options enabled 903 #endif // not C++ and some C++ specific options enabled
900 #else // ! CYGVAR_KERNEL_COUNTERS_CLOCK - can't test without it 904 #else // ! CYGVAR_KERNEL_COUNTERS_CLOCK - can't test without it
901 #define N_A_MSG "no CYGVAR_KERNEL_COUNTERS_CLOCK " 905 #define N_A_MSG "no CYGVAR_KERNEL_COUNTERS_CLOCK "
902 #endif // ! CYGVAR_KERNEL_COUNTERS_CLOCK - can't test without it 906 #endif // ! CYGVAR_KERNEL_COUNTERS_CLOCK - can't test without it
903 #else // ! CYGFUN_KERNEL_THREADS_TIMER - can't test without it 907 #else // ! CYGFUN_KERNEL_THREADS_TIMER - can't test without it
904 #define N_A_MSG "no CYGFUN_KERNEL_THREADS_TIMER" 908 #define N_A_MSG "no CYGFUN_KERNEL_THREADS_TIMER"
905 #endif // ! CYGFUN_KERNEL_THREADS_TIMER - can't test without it 909 #endif // ! CYGFUN_KERNEL_THREADS_TIMER - can't test without it
906 #else // ! CYGIMP_THREAD_PRIORITY - can't test without it 910 #else // ! CYGIMP_THREAD_PRIORITY - can't test without it
907 #define N_A_MSG "no CYGSEM_KERNEL_SCHED_MLQUEUE" 911 #define N_A_MSG "no CYGSEM_KERNEL_SCHED_MLQUEUE"
908 #endif // ! CYGSEM_KERNEL_SCHED_MLQUEUE - can't test without it 912 #endif // ! CYGSEM_KERNEL_SCHED_MLQUEUE - can't test without it
909 #else // ! CYGPKG_UITRON 913 #else // ! CYGPKG_UITRON
910 #define N_A_MSG "uITRON Compatibility layer disabled" 914 #define N_A_MSG "uITRON Compatibility layer disabled"
911 #endif // CYGPKG_UITRON 915 #endif // CYGPKG_UITRON
912 916
913 #ifdef N_A_MSG 917 #ifdef N_A_MSG
914 externC void 918 externC void
915 cyg_start( void ) 919 cyg_start( void )
916 { 920 {
917 CYG_TEST_INIT(); 921 CYG_TEST_INIT();
918 CYG_TEST_PASS( "N/A: " N_A_MSG ); 922 CYG_TEST_NA( N_A_MSG );
919 CYG_TEST_EXIT( "N/A" );
920 } 923 }
921 #endif // N_A_MSG defined ie. we are N/A. 924 #endif // N_A_MSG defined ie. we are N/A.
922 925
923 // EOF testcx2.cxx 926 // EOF testcx2.cxx