gschem: Make promoted attributes visible by default
[geda-gaf.git] / docs / wiki / pcb-pcb_tests.html
blobe982f7e17e963afbaee1038549ab81049d4cf884
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
5 <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
6 <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
7 <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10 </head>
11 <body>
13 <p>
14 pcb has two testing frameworks:
15 </p>
16 <ul>
17 <li class="level1"><div class="li"> <a href="pcb-unit_tests.html" class="wikilink1" title="pcb-unit_tests.html"> Unit Tests</a> <br/>
18 The first uses the glib testing framework to execute function and object low-level tests of the code directly. These tests are generally contained by the files defining the code to be tested.</div>
19 </li>
20 <li class="level1"><div class="li"> Application tests <br/>
21 The second uses the meager scriptability of pcb to test functions at a higher level. These tests are contained in the tests/ directory of the source tree, and are run using the run_tests.sh script.</div>
22 </li>
23 </ul>
25 <h3 id="todolist">To Do List</h3>
26 <div class="level3">
28 </div>
30 <h4 id="geometrytests">Geometry Tests</h4>
31 <div class="level4">
33 <p>
34 All of the geometry functions need tests.
35 I&#039;ve been trying to compile a list of functions that need tests. Many of these are indirectly tested through the <a href="pcb-drc.html" class="wikilink1" title="pcb-drc.html"> DRC tests</a>, but that isn&#039;t really as thorough as it ought to be.
36 </p>
37 <ul>
38 <li class="level1 node"><div class="li"> search.c</div>
39 <ul>
40 <li class="level2"><div class="li"> IsPointOnLine</div>
41 </li>
42 <li class="level2"><div class="li"> IsPointOnPin</div>
43 </li>
44 <li class="level2"><div class="li"> IsPointOnArc</div>
45 </li>
46 <li class="level2"><div class="li"> IsPointOnLineEnd</div>
47 </li>
48 <li class="level2"><div class="li"> IsLineInRectangle</div>
49 </li>
50 <li class="level2"><div class="li"> IsLineInQuadrangle</div>
51 </li>
52 <li class="level2"><div class="li"> IsArcInRectangle</div>
53 </li>
54 <li class="level2"><div class="li"> IsPointInPad</div>
55 </li>
56 <li class="level2"><div class="li"> IsPointInBox</div>
57 </li>
58 </ul>
59 </li>
60 <li class="level1 node"><div class="li"> find.c</div>
61 <ul>
62 <li class="level2"><div class="li"> LineLineIntersect</div>
63 </li>
64 <li class="level2"><div class="li"> LineArcIntersect</div>
65 </li>
66 <li class="level2"><div class="li"> PinLineIntersect</div>
67 </li>
68 <li class="level2"><div class="li"> LinePadIntersect</div>
69 </li>
70 <li class="level2"><div class="li"> ArcPadIntersect</div>
71 </li>
72 <li class="level2"><div class="li"> ArcArcIntersect</div>
73 </li>
74 <li class="level2"><div class="li"> IsRatPointOnLineEnd</div>
75 </li>
76 <li class="level2"><div class="li"> IsArcInPolygon</div>
77 </li>
78 <li class="level2"><div class="li"> IsLineInPolygon</div>
79 </li>
80 <li class="level2"><div class="li"> IsPadInPolygon</div>
81 </li>
82 <li class="level2"><div class="li"> IsPolygonInPolygon</div>
83 </li>
84 <li class="level2"><div class="li"> IS_PV_ON_RAT</div>
85 </li>
86 <li class="level2"><div class="li"> IS_PV_ON_ARC</div>
87 </li>
88 <li class="level2"><div class="li"> IS_PV_ON_PAD</div>
89 </li>
90 </ul>
91 </li>
92 <li class="level1 node"><div class="li"> polygon.c</div>
93 <ul>
94 <li class="level2"><div class="li"> IsPointInPolygon</div>
95 </li>
96 <li class="level2"><div class="li"> IsPointInPolygonIgnoreHoles</div>
97 </li>
98 <li class="level2"><div class="li"> IsRectangleInPolygon</div>
99 </li>
100 </ul>
101 </li>
102 </ul>
104 </div>
105 </body>
106 </html>