1 =================================================================
2 Source code structuration and Unit Tests
3 =================================================================
5 *html version of this document is produced with docutils*::
7 rst2html < doc.txt > doc.html
9 *This document corresponds to SALOME2 3.2.0*
14 +-------------------------------------------+
15 | **WORK in PROGRESS, INCOMPLETE DOCUMENT** |
16 +-------------------------------------------+
18 -------------------------------------------------------------------------------
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
24 SALOME KERNEL source code structuration
25 =======================================
27 General structure of KERNEL_SRC
28 -------------------------------
31 Some README files and configuration tools for build
34 Part of the configuration files, other modules have a directory with the
35 same name. Not used in KERNEL.
38 Python and shell scripts used at run time.
39 Kit to install a SALOME Application.
42 Kit for KERNEL end user documentation production:
43 public interfaces, Python, CORBA.
44 Integrator and Developper documentation.
47 All CORBA interfaces from KERNEL are regrouped here.
50 Configuration files for servers (examples).
51 Interfaces definitions for KERNEL test components.
54 Configuration files used by autotools (M4 macros & co.)
57 The source code (C++ and Python)
60 Directory src: C++ and Python source code
61 -----------------------------------------
63 Basic services non related to CORBA
64 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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.
73 A multithread trace system that allows message tracing on standard error
77 Exceptions and signal handler.
80 A C++ interface to HDF.
86 A CORBA server that collects the trace messages from differents CORBA
90 A multithread trace system derived from SALOMELocalTrace, that sends messages
91 to Logger server via CORBA.
94 A set of general purpose services related to CORBA, such as basic CORBA
95 exception system. See also Basics directory above.
98 C++ and Python interfaces to name, store and retrieve CORBA objects
101 A generic CORBA interface for CORBA objects, to count distributed references,
102 and to allow destruction by client.
104 Miscellaneous CORBA servers
105 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
108 Implements SALOME_registry.idl.
109 Provides a CORBA server library and a separate server program.
112 Implements SALOME_moduleCatalog.idl.
113 Provide a CORBA server library and separate server and client programs.
116 Tool to generate a module catalog from CORBA idl
119 library included in container server
122 library included in differents servers (container)
127 CORBA Containers for SALOME Modules
128 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
138 STUDY server and related interfaces and tools
139 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
149 Python interface to SALOME
150 ~~~~~~~~~~~~~~~~~~~~~~~~~~
154 Efficient CORBA transfer services
155 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
161 A Parallel container with MPI
162 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
168 Batch interface library
169 ~~~~~~~~~~~~~~~~~~~~~~~
181 Tools and principles used for Unit testing
182 ==========================================
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.
189 The cppunit package is optional. When the prerequisite is detected, the unit
192 Unit Tests sources are in directories Test under the src/directories
193 containing the classes to test.
195 Test are ordered following the order of directories given above.
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).
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.
210 -------------------------------------------------------------------------------
212 +----------------------------------+------------------------------------------+
213 | `General KERNEL documentation`_ | `End User KERNEL Doxygen documentation`_ |
214 +----------------------------------+------------------------------------------+
216 .. _`General KERNEL documentation`: ./index.html
217 .. _`End User KERNEL Doxygen documentation`: ./tui/KERNEL/index.html