0024269: Content of occt documentation should be formated
[occt.git] / dox / dev_guides / dev_guides.md
1  Developer Guides {#dev_guides}
2 ================
3
4 ## Source Repository
5
6 This directory contains sources of Open CASCADE Technology (OCCT), a collection
7 of C++ libraries providing services for 3D surface and solid modeling, CAD data
8 exchange, and visualization. OCCT can be best applied in development of
9 software dealing with 3D modeling (CAD), manufacturing / measuring (CAM) or
10 numerical simulation (CAE).
11
12 The OCCT code is subject to the Open CASCADE Technology Public License Version
13 6.6 (the "License"). You may not use the content of the relevant files except in
14 compliance with the License. Please see the LICENSE file or obtain a copy of the
15 License at http://www.opencascade.org and read it completely before using this
16 software.
17
18 ## Automatic tests
19
20 OCCT automatic testing system is integrated with @ref draw "DRAW Test Harness",
21 a console application based on Tcl (a scripting language).
22 All tests are run from DRAW command prompt (run **draw.bat** or 
23 **draw.sh** to start it).
24
25 Standard OCCT tests are located in subdirectory **tests** of the OCCT root 
26 folder. This location is set as default at DRAW start (see environment variable 
27 _CSF_TestScriptsPath_ defined in **src/DrawResources/DrawDefaults**).
28
29 The tests are organized in three levels:
30 - Group: a group of related test grids, usually testing a particular subset of OCCT functionality (e.g. *blend*). 
31 - Grid: a set of test cases within a group, usually aimed at testing a particular aspect or mode of execution of the relevant functionality (e.g. *buildevol*).
32 - Test case: a script implementing an individual test (e.g. *K4*).
33
34 To run all tests, type command *testgrid*:
35
36     Draw[]\> testgrid
37
38 For running only a group or a grid of tests, give additional arguments indicating the group and (if needed) the grid name:
39
40     Draw[]\> testgrid blend simple
41
42 As the tests progress, the result of each test case is reported. 
43 At the end of the log a summary of test cases is output, including the list of 
44 detected regressions and improvements, if any.
45 The tests are considered as non-regressive if only OK, BAD (i.e. known problem), 
46 and SKIPPED (i.e. not executed, typically because of lack of a data file) 
47 statuses are reported. 
48
49 To run a single test, type command 'test' followed by the names of 
50 group, grid, and test case. 
51
52     Draw[1]\> test blend simple A1
53     CASE blend simple A1: OK
54
55 To see intermediate commands and their output during the test execution, 
56 add one more argument '-echo' at the end of the command line, or type 'dlog get'
57 after test completion. 
58
59 For more information consult \subpage dev_guides__tests
60
61 ## docs
62 **short description**
63
64 \subpage dev_guides__documentation
65
66 ## wok
67 **short description**
68
69 \subpage dev_guides__wok
70
71 ## building
72 **short description**
73
74 \subpage dev_guides__building
75
76 ## cdl
77 **short description**
78
79 \subpage dev_guides__cdl