annotate packages/compat/uitron/current/tests/testcx9.cxx @ 3292:7f8e529b4d82 default tip

Fix FREESCALE_EDMA_NBYTES_MLOFFYES_MLOFF() so it works with negative offsets.
author vae
date Wed, 29 Apr 2015 23:31:48 +0000
parents 74dbf4c3f2e1
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 //===========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
2 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
3 // testcx9.cxx
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 // uITRON "C++" test program nine
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 //===========================================================================
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
8 // ####ECOSGPLCOPYRIGHTBEGIN####
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
9 // -------------------------------------------
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
10 // This file is part of eCos, the Embedded Configurable Operating System.
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
11 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
12 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
13 // eCos is free software; you can redistribute it and/or modify it under
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
14 // the terms of the GNU General Public License as published by the Free
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
15 // Software Foundation; either version 2 or (at your option) any later
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
16 // version.
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
17 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
18 // eCos is distributed in the hope that it will be useful, but WITHOUT
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
19 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
20 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
21 // for more details.
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
22 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
23 // You should have received a copy of the GNU General Public License
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
24 // along with eCos; if not, write to the Free Software Foundation, Inc.,
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
25 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
26 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
27 // As a special exception, if other files instantiate templates or use
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
28 // macros or inline functions from this file, or you compile this file
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
29 // and link it with other works to produce a work based on this file,
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
30 // this file does not by itself cause the resulting work to be covered by
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
31 // the GNU General Public License. However the source code for this file
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
32 // must still be made available in accordance with section (3) of the GNU
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
33 // General Public License v2.
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 66
diff changeset
34 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
35 // This exception does not invalidate any other reasons why a work based
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
36 // on this file might be covered by the GNU General Public License.
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
37 // -------------------------------------------
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 210
diff changeset
38 // ####ECOSGPLCOPYRIGHTEND####
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
39 //===========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
40 //#####DESCRIPTIONBEGIN####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
41 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
42 // Author(s): hmt
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
43 // Contributors: hmt
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
44 // Date: 1998-10-16
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
45 // Purpose: uITRON API testing
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
46 // Description:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
47 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
48 //####DESCRIPTIONEND####
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 //===========================================================================
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 <pkgconf/uitron.h> // uITRON setup CYGNUM_UITRON_SEMAS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
53 // CYGPKG_UITRON et al
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
54 #include <cyg/infra/testcase.h> // testing infrastructure
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
55
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
56 #ifdef CYGPKG_UITRON // we DO want the uITRON package
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
57
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
58 #ifdef CYGSEM_KERNEL_SCHED_MLQUEUE // we DO want prioritized threads
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
59
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
60 #ifdef CYGFUN_KERNEL_THREADS_TIMER // we DO want timout-able calls
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
61
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
62 #ifdef CYGVAR_KERNEL_COUNTERS_CLOCK // we DO want the realtime clock
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
63
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
64 // we're OK if it's C++ or neither of those two is defined:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
65 #if defined( __cplusplus ) || \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
66 (!defined( CYGIMP_UITRON_INLINE_FUNCS ) && \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
67 !defined( CYGIMP_UITRON_CPP_OUTLINE_FUNCS) )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
68
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
69 // =================== TEST CONFIGURATION ===================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
70 #if \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
71 /* test configuration for enough tasks */ \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
72 (CYGNUM_UITRON_TASKS >= 4) && \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
73 (CYGNUM_UITRON_TASKS < 90) && \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
74 (CYGNUM_UITRON_START_TASKS == 1) && \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
75 ( !defined(CYGPKG_UITRON_TASKS_CREATE_DELETE) || \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
76 CYGNUM_UITRON_TASKS_INITIALLY >= 4 ) && \
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 /* test configuration for enough fixed memory pools */ \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
79 defined( CYGPKG_UITRON_MEMPOOLFIXED ) && \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
80 (CYGNUM_UITRON_MEMPOOLFIXED >= 3) && \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
81 (CYGNUM_UITRON_MEMPOOLFIXED < 90) && \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
82 ( !defined(CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE) || \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
83 CYGNUM_UITRON_MEMPOOLFIXED_INITIALLY >= 3 ) && \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
84 \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
85 /* test configuration for enough variable mempools */ \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
86 defined( CYGPKG_UITRON_MEMPOOLVAR ) && \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
87 (CYGNUM_UITRON_MEMPOOLVAR >= 3) && \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
88 (CYGNUM_UITRON_MEMPOOLVAR < 90) && \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
89 ( !defined(CYGPKG_UITRON_MEMPOOLVAR_CREATE_DELETE) || \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
90 CYGNUM_UITRON_MEMPOOLVAR_INITIALLY >= 3 ) && \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
91 \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
92 /* the end of the large #if statement */ \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
93 1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
94
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
95 // ============================ END ============================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
96
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
97
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
98
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
99 #include <cyg/compat/uitron/uit_func.h> // uITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
100
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
101 externC void
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
102 cyg_package_start( void )
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 CYG_TEST_INIT();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
105 CYG_TEST_INFO( "Calling cyg_uitron_start()" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
106 cyg_uitron_start();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
107 }
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 VP vp;
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 T_CMPL t_cmpl = { NULL, 0, 1000 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
112 T_RMPL t_rmpl;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
113 T_CMPF t_cmpf = { NULL, 0, 10, 100 };
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
114 T_RMPF t_rmpf;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
115
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 extern "C" {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
118 void task1( unsigned int arg );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
119 void task2( unsigned int arg );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
120 void task3( unsigned int arg );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
121 void task4( unsigned int arg );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
122 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
123
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
124 void task1( unsigned int arg )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
125 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
126 ER ercd;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
127 int tests = 0;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
128
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
129 CYG_TEST_INFO( "Task 1 running" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
130
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
131 ercd = dis_dsp();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
132 CYG_TEST_CHECK( E_OK == ercd, "dis_dsp bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
133 ercd = sta_tsk( 2, 22222 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
134 CYG_TEST_CHECK( E_OK == ercd, "sta_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
135 ercd = chg_pri( 2, 5 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
136 CYG_TEST_CHECK( E_OK == ercd, "chg_pri bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
137 ercd = ena_dsp();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
138 CYG_TEST_CHECK( E_OK == ercd, "ena_dsp bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
139 ercd = dly_tsk( 10 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
140 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
141
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
142 #ifdef CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
143 tests++;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
144 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
145 ercd = del_mpf( -6 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
146 CYG_TEST_CHECK( E_ID == ercd, "del_mpf bad ercd !E_ID" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
147 ercd = del_mpf( 99 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
148 CYG_TEST_CHECK( E_ID == ercd, "del_mpf bad ercd !E_ID" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
149 ercd = cre_mpf( -6, &t_cmpf );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
150 CYG_TEST_CHECK( E_ID == ercd, "cre_mpf bad ercd !E_ID" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
151 ercd = cre_mpf( 99, &t_cmpf );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
152 CYG_TEST_CHECK( E_ID == ercd, "cre_mpf bad ercd !E_ID" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
153 #endif // we can test bad param error returns
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
154 // try a pre-existing object
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
155 // [first get a valid block from it for the freeing test later]
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
156 ercd = pget_blf( &vp, 3 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
157 CYG_TEST_CHECK( E_OK == ercd, "pget_blf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
158 ercd = cre_mpf( 3, &t_cmpf );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
159 CYG_TEST_CHECK( E_OBJ == ercd, "cre_mpf bad ercd !E_OBJ" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
160 // delete it so we can play
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
161 ercd = del_mpf( 3 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
162 CYG_TEST_CHECK( E_OK == ercd, "del_mpf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
163 // check it is deleted
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
164 ercd = rel_blf( 3, vp ); // vp did come from this pool
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
165 CYG_TEST_CHECK( E_NOEXS == ercd, "rel_blf bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
166 ercd = pget_blf( &vp, 3 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
167 CYG_TEST_CHECK( E_NOEXS == ercd, "pget_blf bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
168 ercd = tget_blf( &vp, 3, 10 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
169 CYG_TEST_CHECK( E_NOEXS == ercd, "tget_blf bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
170 ercd = get_blf( &vp, 3 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
171 CYG_TEST_CHECK( E_NOEXS == ercd, "get_blf bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
172 ercd = ref_mpf( &t_rmpf, 3 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
173 CYG_TEST_CHECK( E_NOEXS == ercd, "ref_mpf bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
174 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
175 // now try creating it (badly)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
176 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
177 ercd = cre_mpf( 3, NULL );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
178 CYG_TEST_CHECK( E_PAR == ercd, "cre_mpf bad ercd !E_PAR" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
179 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
180 t_cmpf.mpfatr = 0xfff;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
181 ercd = cre_mpf( 3, &t_cmpf );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
182 CYG_TEST_CHECK( E_RSATR == ercd, "cre_mpf bad ercd !E_RSATR" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
183 #endif // we can test bad param error returns
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
184 t_cmpf.mpfatr = 0;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
185 t_cmpf.mpfcnt = 10000;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
186 t_cmpf.blfsz = 100;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
187 ercd = cre_mpf( 3, &t_cmpf );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
188 CYG_TEST_CHECK( E_NOMEM == ercd, "cre_mpf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
189 t_cmpf.mpfcnt = 100;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
190 t_cmpf.blfsz = 100000;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
191 ercd = cre_mpf( 3, &t_cmpf );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
192 CYG_TEST_CHECK( E_NOMEM == ercd, "cre_mpf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
193 // now create it well
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
194 t_cmpf.mpfatr = 0;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
195 t_cmpf.mpfcnt = 10;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
196 t_cmpf.blfsz = 100;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
197 ercd = cre_mpf( 3, &t_cmpf );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
198 CYG_TEST_CHECK( E_OK == ercd, "cre_mpf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
199 // and check we can use it
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
200 ercd = pget_blf( &vp, 3 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
201 CYG_TEST_CHECK( E_OK == ercd, "pget_blf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
202 ercd = tget_blf( &vp, 3, 10 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
203 CYG_TEST_CHECK( E_OK == ercd, "tget_blf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
204 ercd = get_blf( &vp, 3 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
205 CYG_TEST_CHECK( E_OK == ercd, "get_blf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
206 ercd = rel_blf( 3, vp ); // vp did come from new pool
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
207 CYG_TEST_CHECK( E_OK == ercd, "rel_blf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
208 ercd = rel_blf( 3, vp ); // vp already freed
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
209 CYG_TEST_CHECK( E_PAR == ercd, "rel_blf bad ercd !E_PAR" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
210 ercd = ref_mpf( &t_rmpf, 3 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
211 CYG_TEST_CHECK( E_OK == ercd, "ref_mpf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
212
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
213 // In order to wait on the pools, we must first consume all they have:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
214 while ( E_OK == (ercd = pget_blf( &vp, 1 )) ) /* nothing */;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
215 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blf bad ercd !E_TMOUT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
216 while ( E_OK == (ercd = tget_blf( &vp, 2, 1 )) ) /* nothing */;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
217 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blf bad ercd !E_TMOUT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
218 // now wait while task 2 deletes the wait objects
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
219 ercd = wup_tsk( 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
220 CYG_TEST_CHECK( E_OK == ercd, "wup_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
221 ercd = get_blf( &vp, 1 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
222 CYG_TEST_CHECK( E_DLT == ercd, "get_blf bad ercd !E_DLT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
223 ercd = wup_tsk( 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
224 CYG_TEST_CHECK( E_OK == ercd, "wup_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
225 ercd = tget_blf( &vp, 2, 20 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
226 CYG_TEST_CHECK( E_DLT == ercd, "tget_blf bad ercd !E_DLT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
227 // check they are deleted
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
228 ercd = get_blf( &vp, 1 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
229 CYG_TEST_CHECK( E_NOEXS == ercd, "get_blf bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
230 ercd = pget_blf( &vp, 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
231 CYG_TEST_CHECK( E_NOEXS == ercd, "pget_blf bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
232
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
233 // re-create and do it again
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
234 t_cmpf.mpfcnt = 90;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
235 t_cmpf.blfsz = 20;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
236 ercd = cre_mpf( 1, &t_cmpf );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
237 CYG_TEST_CHECK( E_OK == ercd, "cre_mpf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
238 t_cmpf.mpfcnt = 5;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
239 t_cmpf.blfsz = 200;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
240 ercd = cre_mpf( 2, &t_cmpf );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
241 CYG_TEST_CHECK( E_OK == ercd, "cre_mpf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
242
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
243 // In order to wait on the pools, we must first consume all they have:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
244 while ( E_OK == (ercd = pget_blf( &vp, 1 )) ) /* nothing */;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
245 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blf bad ercd !E_TMOUT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
246 while ( E_OK == (ercd = tget_blf( &vp, 2, 1 )) ) /* nothing */;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
247 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blf bad ercd !E_TMOUT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
248 // now wait while task 2 deletes the wait objects
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
249 ercd = wup_tsk( 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
250 CYG_TEST_CHECK( E_OK == ercd, "wup_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
251 ercd = get_blf( &vp, 1 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
252 CYG_TEST_CHECK( E_DLT == ercd, "get_blf bad ercd !E_DLT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
253 ercd = wup_tsk( 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
254 CYG_TEST_CHECK( E_OK == ercd, "wup_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
255 ercd = tget_blf( &vp, 2, 10 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
256 CYG_TEST_CHECK( E_DLT == ercd, "tget_blf bad ercd !E_DLT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
257 // check they are deleted
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
258 ercd = tget_blf( &vp, 1, 1 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
259 CYG_TEST_CHECK( E_NOEXS == ercd, "get_blf bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
260 ercd = get_blf( &vp, 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
261 CYG_TEST_CHECK( E_NOEXS == ercd, "pget_blf bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
262
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
263 CYG_TEST_PASS("create/delete fixed mempools");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
264 #endif // CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
265
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
266 #ifdef CYGPKG_UITRON_MEMPOOLVAR_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
267 tests++;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
268 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
269 ercd = del_mpl( -6 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
270 CYG_TEST_CHECK( E_ID == ercd, "del_mpl bad ercd !E_ID" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
271 ercd = del_mpl( 99 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
272 CYG_TEST_CHECK( E_ID == ercd, "del_mpl bad ercd !E_ID" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
273 ercd = cre_mpl( -6, &t_cmpl );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
274 CYG_TEST_CHECK( E_ID == ercd, "cre_mpl bad ercd !E_ID" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
275 ercd = cre_mpl( 99, &t_cmpl );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
276 CYG_TEST_CHECK( E_ID == ercd, "cre_mpl bad ercd !E_ID" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
277 #endif // we can test bad param error returns
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
278 // try a pre-existing object
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
279 // [first get a valid block from it for the freeing test later]
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
280 ercd = pget_blk( &vp, 3, 100 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
281 CYG_TEST_CHECK( E_OK == ercd, "pget_blk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
282 ercd = cre_mpl( 3, &t_cmpl );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
283 CYG_TEST_CHECK( E_OBJ == ercd, "cre_mpl bad ercd !E_OBJ" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
284 // delete it so we can play
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
285 ercd = del_mpl( 3 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
286 CYG_TEST_CHECK( E_OK == ercd, "del_mpl bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
287 // check it is deleted
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
288 ercd = rel_blk( 3, vp ); // vp did come from this pool
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
289 CYG_TEST_CHECK( E_NOEXS == ercd, "rel_blk bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
290 ercd = pget_blk( &vp, 3, 100 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
291 CYG_TEST_CHECK( E_NOEXS == ercd, "pget_blk bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
292 ercd = tget_blk( &vp, 3, 100, 10 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
293 CYG_TEST_CHECK( E_NOEXS == ercd, "tget_blk bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
294 ercd = get_blk( &vp, 3, 100 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
295 CYG_TEST_CHECK( E_NOEXS == ercd, "get_blk bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
296 ercd = ref_mpl( &t_rmpl, 3 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
297 CYG_TEST_CHECK( E_NOEXS == ercd, "ref_mpl bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
298 #ifdef CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
299 // now try creating it (badly)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
300 #ifndef CYGSEM_UITRON_PARAMS_NULL_IS_GOOD_PTR
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
301 ercd = cre_mpl( 3, NULL );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
302 CYG_TEST_CHECK( E_PAR == ercd, "cre_mpl bad ercd !E_PAR" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
303 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
304 t_cmpl.mplatr = 0xfff;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
305 ercd = cre_mpl( 3, &t_cmpl );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
306 CYG_TEST_CHECK( E_RSATR == ercd, "cre_mpl bad ercd !E_RSATR" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
307 #endif // we can test bad param error returns
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
308 t_cmpl.mplatr = 0;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
309 t_cmpl.mplsz = 100000000;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
310 ercd = cre_mpl( 3, &t_cmpl );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
311 CYG_TEST_CHECK( E_NOMEM == ercd, "cre_mpl bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
312 // now create it well
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
313 t_cmpl.mplatr = 0;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
314 t_cmpl.mplsz = 1000;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
315 ercd = cre_mpl( 3, &t_cmpl );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
316 CYG_TEST_CHECK( E_OK == ercd, "cre_mpl bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
317 // and check we can use it
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
318 ercd = pget_blk( &vp, 3, 100 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
319 CYG_TEST_CHECK( E_OK == ercd, "pget_blk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
320 ercd = pget_blk( &vp, 3, 100000000 ); // way too large
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
321 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blk bad ercd !E_TMOUT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
322 ercd = tget_blk( &vp, 3, 100, 10 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
323 CYG_TEST_CHECK( E_OK == ercd, "tget_blk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
324 ercd = get_blk( &vp, 3, 100 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
325 CYG_TEST_CHECK( E_OK == ercd, "get_blk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
326 ercd = rel_blk( 3, vp ); // vp did come from new pool
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
327 CYG_TEST_CHECK( E_OK == ercd, "rel_blk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
328 ercd = rel_blk( 3, vp ); // vp already freed
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
329 CYG_TEST_CHECK( E_PAR == ercd, "rel_blk bad ercd !E_PAR" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
330 ercd = ref_mpl( &t_rmpl, 3 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
331 CYG_TEST_CHECK( E_OK == ercd, "ref_mpl bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
332
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
333 // In order to wait on the pools, we must first consume all they have:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
334 while ( E_OK == (ercd = pget_blk( &vp, 1, 100 )) ) /* nothing */;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
335 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blk bad ercd !E_TMOUT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
336 while ( E_OK == (ercd = tget_blk( &vp, 2, 100, 1 )) ) /* nothing */;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
337 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blk bad ercd !E_TMOUT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
338 // now wait while task 2 deletes the wait objects
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
339 ercd = wup_tsk( 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
340 CYG_TEST_CHECK( E_OK == ercd, "wup_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
341 ercd = get_blk( &vp, 1, 200 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
342 CYG_TEST_CHECK( E_DLT == ercd, "get_blk bad ercd !E_DLT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
343 ercd = wup_tsk( 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
344 CYG_TEST_CHECK( E_OK == ercd, "wup_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
345 ercd = tget_blk( &vp, 2, 100, 20 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
346 CYG_TEST_CHECK( E_DLT == ercd, "tget_blk bad ercd !E_DLT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
347 // check they are deleted
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
348 ercd = get_blk( &vp, 1, 200 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
349 CYG_TEST_CHECK( E_NOEXS == ercd, "get_blk bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
350 ercd = pget_blk( &vp, 2, 20 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
351 CYG_TEST_CHECK( E_NOEXS == ercd, "pget_blk bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
352
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
353 // re-create and do it again
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
354 ercd = cre_mpl( 1, &t_cmpl );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
355 CYG_TEST_CHECK( E_OK == ercd, "cre_mpl bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
356 ercd = cre_mpl( 2, &t_cmpl );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
357 CYG_TEST_CHECK( E_OK == ercd, "cre_mpl bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
358
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
359 // In order to wait on the pools, we must first consume all they have:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
360 while ( E_OK == (ercd = pget_blk( &vp, 1, 20 )) ) /* nothing */;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
361 CYG_TEST_CHECK( E_TMOUT == ercd, "pget_blk bad ercd !E_TMOUT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
362 while ( E_OK == (ercd = tget_blk( &vp, 2, 400, 1 )) ) /* nothing */;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
363 CYG_TEST_CHECK( E_TMOUT == ercd, "tget_blk bad ercd !E_TMOUT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
364 // now wait while task 2 deletes the wait objects
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
365 ercd = wup_tsk( 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
366 CYG_TEST_CHECK( E_OK == ercd, "wup_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
367 ercd = get_blk( &vp, 1, 200 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
368 CYG_TEST_CHECK( E_DLT == ercd, "get_blk bad ercd !E_DLT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
369 ercd = wup_tsk( 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
370 CYG_TEST_CHECK( E_OK == ercd, "wup_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
371 ercd = tget_blk( &vp, 2, 500, 20 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
372 CYG_TEST_CHECK( E_DLT == ercd, "tget_blk bad ercd !E_DLT" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
373 // check they are deleted
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
374 ercd = tget_blk( &vp, 1, 200, 1 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
375 CYG_TEST_CHECK( E_NOEXS == ercd, "get_blk bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
376 ercd = get_blk( &vp, 2, 20 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
377 CYG_TEST_CHECK( E_NOEXS == ercd, "pget_blk bad ercd !E_NOEXS" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
378
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
379 CYG_TEST_PASS("create/delete variable mempools");
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
380 #endif // CYGPKG_UITRON_MEMPOOLVAR_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
381
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
382 ercd = ter_tsk( 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
383 CYG_TEST_CHECK( E_OK == ercd, "ter_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
384 ercd = dly_tsk( 5 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
385 CYG_TEST_CHECK( E_OK == ercd, "dly_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
386
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
387 // all done
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
388 if ( 0 == tests ) {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
389 CYG_TEST_NA( "No objects have create/delete enabled" );
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
390 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
391 else {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
392 CYG_TEST_EXIT( "All done" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
393 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
394 ext_tsk();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
395 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
396
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
397
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
398
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
399 void task2( unsigned int arg )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
400 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
401 ER ercd;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
402 int i;
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
403 CYG_TEST_INFO( "Task 2 running" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
404 ercd = get_tid( &i );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
405 CYG_TEST_CHECK( E_OK == ercd, "get_tid bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
406 CYG_TEST_CHECK( 2 == i, "tid not 2" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
407 if ( 22222 != arg )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
408 CYG_TEST_FAIL( "Task 2 arg not 22222" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
409
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
410 ercd = slp_tsk();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
411 CYG_TEST_CHECK( E_OK == ercd, "slp_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
412
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
413 #ifdef CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
414 ercd = del_mpf( 1 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
415 CYG_TEST_CHECK( E_OK == ercd, "del_mpf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
416 ercd = slp_tsk();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
417 CYG_TEST_CHECK( E_OK == ercd, "slp_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
418 ercd = del_mpf( 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
419 CYG_TEST_CHECK( E_OK == ercd, "del_mpf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
420 ercd = slp_tsk();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
421 CYG_TEST_CHECK( E_OK == ercd, "slp_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
422 ercd = del_mpf( 1 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
423 CYG_TEST_CHECK( E_OK == ercd, "del_mpf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
424 ercd = slp_tsk();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
425 CYG_TEST_CHECK( E_OK == ercd, "slp_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
426 ercd = del_mpf( 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
427 CYG_TEST_CHECK( E_OK == ercd, "del_mpf bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
428 ercd = slp_tsk();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
429 CYG_TEST_CHECK( E_OK == ercd, "slp_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
430 #endif // CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
431
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
432 #ifdef CYGPKG_UITRON_MEMPOOLVAR_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
433 ercd = del_mpl( 1 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
434 CYG_TEST_CHECK( E_OK == ercd, "del_mpl bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
435 ercd = slp_tsk();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
436 CYG_TEST_CHECK( E_OK == ercd, "slp_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
437 ercd = del_mpl( 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
438 CYG_TEST_CHECK( E_OK == ercd, "del_mpl bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
439 ercd = slp_tsk();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
440 CYG_TEST_CHECK( E_OK == ercd, "slp_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
441 ercd = del_mpl( 1 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
442 CYG_TEST_CHECK( E_OK == ercd, "del_mpl bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
443 ercd = slp_tsk();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
444 CYG_TEST_CHECK( E_OK == ercd, "slp_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
445 ercd = del_mpl( 2 );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
446 CYG_TEST_CHECK( E_OK == ercd, "del_mpl bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
447 ercd = slp_tsk();
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
448 CYG_TEST_CHECK( E_OK == ercd, "slp_tsk bad ercd" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
449 #endif // CYGPKG_UITRON_MEMPOOLVAR_CREATE_DELETE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
450
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
451 // we expect task2 to be killed here
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
452 CYG_TEST_FAIL( "Task 2 ran to completion!" );
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
453 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
454
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
455 void task3( unsigned int arg )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
456 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
457 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
458
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
459 void task4( unsigned int arg )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
460 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
461 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
462
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
463 #else // not enough (or too many) uITRON objects configured in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
464 #define N_A_MSG "not enough uITRON objects to run test"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
465 #endif // not enough (or too many) uITRON objects configured in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
466 #else // not C++ and some C++ specific options enabled
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
467 #define N_A_MSG "C++ specific options selected but this is C"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
468 #endif // not C++ and some C++ specific options enabled
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
469 #else // ! CYGVAR_KERNEL_COUNTERS_CLOCK - can't test without it
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
470 #define N_A_MSG "no CYGVAR_KERNEL_COUNTERS_CLOCK"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
471 #endif // ! CYGVAR_KERNEL_COUNTERS_CLOCK - can't test without it
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
472 #else // ! CYGFUN_KERNEL_THREADS_TIMER - can't test without it
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
473 #define N_A_MSG "no CYGFUN_KERNEL_THREADS_TIMER"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
474 #endif // ! CYGFUN_KERNEL_THREADS_TIMER - can't test without it
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
475 #else // ! CYGIMP_THREAD_PRIORITY - can't test without it
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
476 #define N_A_MSG "no CYGSEM_KERNEL_SCHED_MLQUEUE"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
477 #endif // ! CYGSEM_KERNEL_SCHED_MLQUEUE - can't test without it
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
478 #else // ! CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
479 #define N_A_MSG "uITRON Compatibility layer disabled"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
480 #endif // CYGPKG_UITRON
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
481
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
482 #ifdef N_A_MSG
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
483 externC void
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
484 cyg_start( void )
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
485 {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
486 CYG_TEST_INIT();
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
487 CYG_TEST_NA( N_A_MSG );
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
488 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
489 #endif // N_A_MSG defined ie. we are N/A.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
490
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
491 // EOF testcx9.cxx