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