2 =================================================================
3 Source code structuration and Unit Tests
4 =================================================================
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
10 +-------------------------------------------+
11 | **WORK in PROGRESS, INCOMPLETE DOCUMENT** |
12 +-------------------------------------------+
14 1. SALOME KERNEL source code structuration
15 ==========================================
17 1.1 General structure of KERNEL_SRC
18 -----------------------------------
21 Some README files and configuration tools for build
24 Part of the configuration files
27 Python and shell scripts used at run time.
30 Kit for end user documentation production: public interfaces, graphic,
31 Python, CORBA. Developper documentation.
37 All CORBA interfaces from KERNEL are regrouped here.
40 Configuration files for servers (examples). Icons for Graphic interface
44 Makefile includes and configuration files (M4 macros)
47 The source code (C++ and Python)
50 1.2 Directory src: C++ and Python source code
51 ---------------------------------------------
53 1.2.1 Basic services non related to CORBA
54 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57 A set of general purpose C++ services.
60 A multithread trace system that allows message tracing on standard error
64 Exceptions and signal handler.
67 A C++ interface to HDF.
69 1.2.2 Basic CORBA services
70 ~~~~~~~~~~~~~~~~~~~~~~~~~~
73 A CORBA server that collects the trace messages from differents CORBA
77 A multithread trace system derived from SALOMELocalTrace, that sends messages
78 to Logger server via CORBA.
81 A set of general purpose services related to CORBA, such as basic CORBA
85 C++ and Python interfaces to name, store and retrieve CORBA objects
88 A generic CORBA interface for CORBA objects, to count distributed references,
89 and to allow destruction by client.
91 1.2.3 Miscellaneous CORBA servers
92 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
108 1.2.4 CORBA Containers for SALOME Modules
109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
119 1.2.5 STUDY server and related interfaces and tools
120 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
130 2. Tools and principles used for Unit testing
131 =============================================
135 Unit Testing rely on cppunit package for C++ testing, and on unittest module
136 for Python. See these products for general principles of unit testing.
138 The cppunit package is optional. When the prerequisite is detected, the unit
141 Unit Tests sources are in directories Test under the src/directories
142 containing the classes to test.
144 Test are ordered following the order of directories given above.
146 Tests can be run as a whole, or for a particular directory. In this case, only
147 a partial test is run (the classes to test, and the classes used, i.e. the
148 preceding test directories).
151 Today, only some tests are written as an example. There are not yet python
152 scripts in KERNEL_SRC, but it's a matter of days, there are working scripts
153 to test LifeCycleCORBA_SWIG interface.