comparison packages/kernel/current/tests/thread0.cxx @ 0:3111d98ba7b3 ecos-v1_1-release

Initial commit of eCos version 1.1
author jlarmour
date Tue, 11 May 1999 11:16:07 +0000
parents
children 443894e2e912
comparison
equal deleted inserted replaced
-1:000000000000 0:3111d98ba7b3
1 //==========================================================================
2 //
3 // thread0.cxx
4 //
5 // Thread test 0
6 //
7 //==========================================================================
8 //####COPYRIGHTBEGIN####
9 //
10 // -------------------------------------------
11 // The contents of this file are subject to the Cygnus eCos Public License
12 // Version 1.0 (the "License"); you may not use this file except in
13 // compliance with the License. You may obtain a copy of the License at
14 // http://sourceware.cygnus.com/ecos
15 //
16 // Software distributed under the License is distributed on an "AS IS"
17 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
18 // License for the specific language governing rights and limitations under
19 // the License.
20 //
21 // The Original Code is eCos - Embedded Cygnus Operating System, released
22 // September 30, 1998.
23 //
24 // The Initial Developer of the Original Code is Cygnus. Portions created
25 // by Cygnus are Copyright (C) 1998 Cygnus Solutions. All Rights Reserved.
26 // -------------------------------------------
27 //
28 //####COPYRIGHTEND####
29 //==========================================================================
30 //#####DESCRIPTIONBEGIN####
31 //
32 // Author(s): dsm
33 // Contributors: dsm
34 // Date: 1998-02-11
35 // Description: Limited to checking constructors/destructors
36 // Omissions:
37 // Thread constructors with 2 or 3 args are not supported at time
38 // of writing test.
39 //####DESCRIPTIONEND####
40
41 #include <pkgconf/kernel.h>
42
43 #include <cyg/kernel/thread.hxx>
44
45 #include <cyg/infra/testcase.h>
46
47 #include <cyg/kernel/thread.inl>
48
49 #include "testaux.hxx"
50
51 #define STACKSIZE 4096
52
53 static char stack[STACKSIZE];
54
55 static cyg_thread_entry entry;
56
57 static void entry( CYG_ADDRWORD data )
58 {
59 }
60
61 static int *p;
62
63 static bool flash( void )
64 {
65 #if 0 // no facility to allocate stack exists yet.
66 Cyg_Thread t0( entry, 0x111 );
67
68 CYG_ASSERTCLASS(&t0, "error");
69
70 Cyg_Thread t1( entry, (CYG_ADDRWORD)&t0, STACKSIZE );
71
72 CYG_ASSERTCLASS(&t1, "error");
73 #endif
74 Cyg_Thread t2( entry, (CYG_ADDRWORD)p, STACKSIZE, (CYG_ADDRESS)stack );
75
76 CYG_ASSERTCLASS(&t2, "error");
77
78 return true;
79 }
80
81 void thread0_main( void )
82 {
83 CYG_TEST_INIT();
84
85 CHECK(flash());
86 CHECK(flash());
87
88 CYG_TEST_PASS_FINISH("Thread 0 OK");
89
90 }
91
92 externC void
93 cyg_start( void )
94 {
95 thread0_main();
96 }
97 // EOF thread0.cxx