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