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
13 \subsection sub11 General structure of KERNEL_SRC
16 Some README files and configuration tools for build
19 Python and shell scripts used at run time.
20 Kit to install a %SALOME Application.
23 Kit for KERNEL end user documentation production:
24 public interfaces, Python, CORBA.
25 Integrator and Developper documentation.
28 All CORBA interfaces from KERNEL are regrouped here.
30 - KERNEL_SRC/resources :\n
31 Configuration files for servers (examples).
32 Interfaces definitions for KERNEL test components.
34 - KERNEL_SRC/salome_adm :\n
35 Configuration files used by autotools (M4 macros & co.)
38 The source code (C++ and Python)
40 \subsection sub12 Directory src: C++ and Python source code
44 <b>Basic services non related to CORBA</b>
47 %A set of general purpose C++ services, not related to CORBA.
48 Some general purpose services that are in Utils directory (CORBA related),
49 are progressivley moved here, as they are not related to CORBA.
53 %A multithread trace system that allows message tracing on standard error
57 Exceptions and signal handler.
60 %A C++ interface to HDF.
65 <b>Basic CORBA services</b>
68 %A CORBA %server that collects the trace messages from differents CORBA
71 - SALOMETraceCollector :\n
72 %A multithread trace system derived from SALOMELocalTrace, that sends messages
73 to Logger %server via CORBA.
76 %A set of general purpose services related to CORBA, such as basic CORBA
77 exception system. See also Basics directory above.
80 C++ and Python interfaces to name, store and retrieve CORBA objects
83 %A generic CORBA interface for CORBA objects, to count distributed references,
84 and to allow destruction by client.
88 <b>Miscellaneous CORBA servers</b>
91 Implements SALOME_registry.idl.
92 Provides a CORBA %server library and a separate %server program.
95 Implements SALOME_moduleCatalog.idl.
96 Provide a CORBA %server library and separate %server and client programs.
99 Tool to generate a module catalog from CORBA idl
101 - ResourcesManager :\n
102 library included in container %server
105 library included in differents servers (container)
112 <b>CORBA Containers for %SALOME Modules</b>
120 - LifeCycleCORBA_SWIG
125 <b>STUDY %server and related interfaces and tools</b>
137 <b>Python interface to %SALOME</b>
143 <b>Efficient CORBA transfer services</b>
151 <b>%A Parallel container with MPI</b>
169 \section S2_unit Tools and principles used for Unit testing
171 <b>TO BE COMPLETED</b>
173 Unit Testing rely on cppunit package for C++ testing, and on unittest module
174 for Python. See these products for general principles of unit testing.
176 The cppunit package is optional. When the prerequisite is detected, the unit
179 Unit Tests sources are in directories Test under the src/directories
180 containing the classes to test.
182 Test are ordered following the order of directories given above.
184 Tests can be run as a whole, or for a particular directory. In this case, only
185 a partial test is run (the classes to test, and the classes used, i.e. the
186 preceding test directories).
189 Today, only some tests are written as an example. There are not yet python
190 scripts in KERNEL_SRC, but it's a matter of days, there are working scripts
191 to test LifeCycleCORBA_SWIG interface.