Salome HOME
Ajout des properties
[modules/kernel.git] / doc / UnitTests.txt
1 =================================================================
2 Source code structuration and Unit Tests
3 =================================================================
4
5 *html version of this document is produced with docutils*::
6
7   rst2html < doc.txt > doc.html
8
9 *This document corresponds to SALOME2 3.2.0*
10
11 .. contents::
12 .. sectnum::
13
14 +-------------------------------------------+
15 | **WORK in PROGRESS, INCOMPLETE DOCUMENT** |
16 +-------------------------------------------+
17
18 -------------------------------------------------------------------------------
19
20 You will find here general information on code directories structure,
21 unit tests associated to the different kind of classes, and how to run
22 the unit tests.
23
24 SALOME KERNEL source code structuration
25 =======================================
26
27 General structure of KERNEL_SRC
28 -------------------------------
29
30 KERNEL_SRC
31    Some README files and configuration tools for build
32
33 KERNEL_SRC/adm_local
34    Part of the configuration files, other modules have a directory with the
35    same name. Not used in KERNEL.
36
37 KERNEL_SRC/bin
38    Python and shell scripts used at run time.
39    Kit to install a SALOME Application.
40
41 KERNEL_SRC/doc
42    Kit for KERNEL end user documentation production:
43    public interfaces, Python, CORBA.
44    Integrator and Developper documentation.
45
46 KERNEL_SRC/idl
47    All CORBA interfaces from KERNEL are regrouped here.
48
49 KERNEL_SRC/resources
50    Configuration files for servers (examples).
51    Interfaces definitions for KERNEL test components.
52
53 KERNEL_SRC/salome_adm
54    Configuration files used by autotools (M4 macros & co.)
55
56 KERNEL_SRC/src
57    The source code (C++ and Python)
58    
59
60 Directory src: C++ and Python source code
61 -----------------------------------------
62
63 Basic services non related to CORBA
64 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65
66 Basics
67   A set of general purpose C++ services, not related to CORBA.
68   Some general purpose services that are in Utils directory (CORBA related),
69   are progressivley moved here, as they are not related to CORBA.
70   
71
72 SALOMELocalTrace
73   A multithread trace system that allows message tracing on standard error
74   or a file. 
75
76 CASCatch
77   Exceptions and signal handler.
78
79 HDFPersist
80   A C++ interface to HDF.
81
82 Basic CORBA services
83 ~~~~~~~~~~~~~~~~~~~~
84
85 Logger
86   A CORBA server that collects the trace messages from differents CORBA 
87   process. 
88
89 SALOMETraceCollector
90   A multithread trace system derived from SALOMELocalTrace, that sends messages
91   to Logger server via CORBA.
92
93 Utils
94   A set of general purpose services related to CORBA, such as basic CORBA
95   exception system. See also Basics directory above.
96
97 NamingService
98   C++ and Python interfaces to name, store and retrieve CORBA objects
99
100 GenericObj
101   A generic CORBA interface for CORBA objects, to count distributed references,
102   and to allow destruction by client. 
103
104 Miscellaneous CORBA servers
105 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
106
107 Registry
108   Implements SALOME_registry.idl.
109   Provides a CORBA server library and a separate server program.
110
111 ModuleCatalog
112   Implements SALOME_moduleCatalog.idl.
113   Provide a CORBA server library and separate server and client programs.
114
115 ModuleGenerator
116   Tool to generate a module catalog from CORBA idl
117
118 ResourcesManager
119   library included in container server
120
121 Notification
122   library included in differents servers (container)
123
124 NOTIFICATION_SWIG
125
126
127 CORBA Containers for SALOME Modules
128 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
129
130 Container
131
132 TestContainer
133
134 LifeCycleCORBA
135
136 LifeCycleCORBA_SWIG
137
138 STUDY server and related interfaces and tools
139 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
140
141 SALOMEDSClient
142
143 TOOLSDS
144
145 SALOMEDSImpl
146
147 SALOMEDS
148
149 Python interface to SALOME
150 ~~~~~~~~~~~~~~~~~~~~~~~~~~
151  
152 KERNEL_PY
153
154 Efficient CORBA transfer services
155 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
156
157 Communication
158
159 Communication_SWIG
160
161 A Parallel container with MPI
162 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
163
164 MPIContainer
165
166 TestMPIContainer
167
168 Batch interface library
169 ~~~~~~~~~~~~~~~~~~~~~~~
170
171 Batch
172
173 Batch_SWIG
174
175 Unit tests
176 ~~~~~~~~~~
177
178 UnitTests
179
180
181 Tools and principles used for Unit testing
182 ==========================================
183
184 **TO BE COMPLETED**
185
186 Unit Testing rely on cppunit package for C++ testing, and on unittest module
187 for Python. See these products for general principles of unit testing.
188
189 The cppunit package is optional. When the prerequisite is detected, the unit
190 tests are compiled.
191
192 Unit Tests sources are in directories Test under the src/directories
193 containing the classes to test.
194
195 Test are ordered following the order of directories given above.
196
197 Tests can be run as a whole, or for a particular directory. In this case, only
198 a partial test is run (the classes to test, and the classes used, i.e. the 
199 preceding test directories).
200
201
202 Today, only some tests are written as an example. There are not yet python
203 scripts in KERNEL_SRC, but it's a matter of days, there are working scripts
204 to test LifeCycleCORBA_SWIG interface.
205
206
207
208
209
210 -------------------------------------------------------------------------------
211
212 +----------------------------------+------------------------------------------+
213 | `General KERNEL documentation`_  | `End User KERNEL Doxygen documentation`_ |
214 +----------------------------------+------------------------------------------+
215
216 .. _`General KERNEL documentation`:           ./index.html
217 .. _`End User KERNEL Doxygen documentation`:  ./tui/KERNEL/index.html