3 \page UnitTests Source code structuration and Unit Tests
5 <b>WORK in PROGRESS, INCOMPLETE DOCUMENT</b>
7 You will find here general information on code directories structure,
8 unit tests associated to the different kind of classes, and how to run
11 \section S1_unit SALOME KERNEL source code structuration
14 <li> <b>General structure of KERNEL_SRC</b>
17 Some README files and configuration tools for build
19 - KERNEL_SRC/adm_local :
20 Part of the configuration files, other modules have a directory with the
21 same name. Not used in KERNEL.
24 Python and shell scripts used at run time.
25 Kit to install a %SALOME Application.
28 Kit for KERNEL end user documentation production:
29 public interfaces, Python, CORBA.
30 Integrator and Developper documentation.
33 All CORBA interfaces from KERNEL are regrouped here.
35 - KERNEL_SRC/resources :
36 Configuration files for servers (examples).
37 Interfaces definitions for KERNEL test components.
39 - KERNEL_SRC/salome_adm :
40 Configuration files used by autotools (M4 macros & co.)
43 The source code (C++ and Python)
47 <b>Directory src: C++ and Python source code</b>
51 <b>Basic services non related to CORBA</b>
54 %A set of general purpose C++ services, not related to CORBA.
55 Some general purpose services that are in Utils directory (CORBA related),
56 are progressivley moved here, as they are not related to CORBA.
60 %A multithread trace system that allows message tracing on standard error
64 Exceptions and signal handler.
67 %A C++ interface to HDF.
72 <b>Basic CORBA services</b>
75 %A CORBA %server that collects the trace messages from differents CORBA
78 - SALOMETraceCollector :
79 %A multithread trace system derived from SALOMELocalTrace, that sends messages
80 to Logger %server via CORBA.
83 %A set of general purpose services related to CORBA, such as basic CORBA
84 exception system. See also Basics directory above.
87 C++ and Python interfaces to name, store and retrieve CORBA objects
90 %A generic CORBA interface for CORBA objects, to count distributed references,
91 and to allow destruction by client.
95 <b>Miscellaneous CORBA servers</b>
98 Implements SALOME_registry.idl.
99 Provides a CORBA %server library and a separate %server program.
102 Implements SALOME_moduleCatalog.idl.
103 Provide a CORBA %server library and separate %server and client programs.
106 Tool to generate a module catalog from CORBA idl
109 library included in container %server
112 library included in differents servers (container)
119 <b>CORBA Containers for %SALOME Modules</b>
127 - LifeCycleCORBA_SWIG
132 <b>STUDY %server and related interfaces and tools</b>
144 <b>Python interface to %SALOME</b>
150 <b>Efficient CORBA transfer services</b>
158 <b>%A Parallel container with MPI</b>
166 <b>Batch interface library</b>
183 \section S2_unit Tools and principles used for Unit testing
185 <b>**TO BE COMPLETED**</b>
187 Unit Testing rely on cppunit package for C++ testing, and on unittest module
188 for Python. See these products for general principles of unit testing.
190 The cppunit package is optional. When the prerequisite is detected, the unit
193 Unit Tests sources are in directories Test under the src/directories
194 containing the classes to test.
196 Test are ordered following the order of directories given above.
198 Tests can be run as a whole, or for a particular directory. In this case, only
199 a partial test is run (the classes to test, and the classes used, i.e. the
200 preceding test directories).
203 Today, only some tests are written as an example. There are not yet python
204 scripts in KERNEL_SRC, but it's a matter of days, there are working scripts
205 to test LifeCycleCORBA_SWIG interface.