]> SALOME platform Git repositories - modules/kernel.git/blob - doc/UnitTests.txt
Salome HOME
PR: merge from branch BR_UnitTests tag mergeto_trunk_17oct05
[modules/kernel.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 1. SALOME KERNEL source code structuration
15 ==========================================
16
17 1.1 General structure of KERNEL_SRC
18 -----------------------------------
19
20 KERNEL_SRC
21    Some README files and configuration tools for build
22
23 KERNEL_SRC/adm_local
24    Part of the configuration files
25
26 KERNEL_SRC/bin
27    Python and shell scripts used at run time.
28
29 KERNEL_SRC/doc
30    Kit for end user documentation production: public interfaces, graphic,
31    Python, CORBA. Developper documentation.
32
33 KERNEL_SRC/examples
34    To be removed.
35
36 KERNEL_SRC/idl
37    All CORBA interfaces from KERNEL are regrouped here.
38
39 KERNEL_SRC/resources
40    Configuration files for servers (examples). Icons for Graphic interface
41    (to be removed ?)
42
43 KERNEL_SRC/salome_adm
44    Makefile includes and configuration files (M4 macros)
45
46 KERNEL_SRC/src
47    The source code (C++ and Python)
48    
49
50 1.2 Directory src: C++ and Python source code
51 ---------------------------------------------
52
53 1.2.1 Basic services non related to CORBA
54 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55
56 Basics
57   A set of general purpose C++ services.
58
59 SALOMELocalTrace
60   A multithread trace system that allows message tracing on standard error
61   or a file. 
62
63 CASCatch
64   Exceptions and signal handler.
65
66 HDFPersist
67   A C++ interface to HDF.
68
69 1.2.2 Basic CORBA services
70 ~~~~~~~~~~~~~~~~~~~~~~~~~~
71
72 Logger
73   A CORBA server that collects the trace messages from differents CORBA 
74   process. 
75
76 SALOMETraceCollector
77   A multithread trace system derived from SALOMELocalTrace, that sends messages
78   to Logger server via CORBA.
79
80 Utils
81   A set of general purpose services related to CORBA, such as basic CORBA
82   exception system.
83
84 NamingService
85   C++ and Python interfaces to name, store and retrieve CORBA objects
86
87 GenericObj
88   A generic CORBA interface for CORBA objects, to count distributed references,
89   and to allow destruction by client. 
90
91 1.2.3 Miscellaneous CORBA servers
92 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93
94 Registry
95
96 ModuleCatalog
97
98 DataTypeCatalog
99
100 RessourcesCatalog
101
102 ResourcesManager
103
104 Notification
105
106 NOTIFICATION_SWIG
107
108 1.2.4 CORBA Containers for SALOME Modules
109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
110
111 Container
112
113 TestContainer
114
115 LifeCycleCORBA
116
117 LifeCycleCORBA_SWIG
118
119 1.2.5 STUDY server and related interfaces and tools
120 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
121
122 SALOMEDSClient
123
124 TOOLSDS
125
126 SALOMEDSImpl
127
128 SALOMEDS
129
130 2. Tools and principles used for Unit testing
131 =============================================
132
133 **TO BE COMPLETED**
134
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.
137
138 The cppunit package is optional. When the prerequisite is detected, the unit
139 tests are compiled.
140
141 Unit Tests sources are in directories Test under the src/directories
142 containing the classes to test.
143
144 Test are ordered following the order of directories given above.
145
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).
149
150
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.
154
155
156
157