comparison doc/manual/manual_devel.tex @ 0:3e629dc19168

initial from svn dyncall-1745
author Daniel Adler
date Thu, 19 Mar 2015 22:24:28 +0100
parents
children 7ca46969e0ad
comparison
equal deleted inserted replaced
-1:000000000000 0:3e629dc19168
1 %//////////////////////////////////////////////////////////////////////////////
2 %
3 % Copyright (c) 2007,2009 Daniel Adler <dadler@uni-goettingen.de>,
4 % Tassilo Philipp <tphilipp@potion-studios.com>
5 %
6 % Permission to use, copy, modify, and distribute this software for any
7 % purpose with or without fee is hereby granted, provided that the above
8 % copyright notice and this permission notice appear in all copies.
9 %
10 % THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 % WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 % MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 % ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 % WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 % ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 % OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 %
18 %//////////////////////////////////////////////////////////////////////////////
19
20 \newpage
21 \section{Developers}
22
23 \subsection{Noteworthy files in the project root}
24 \begin{verbatim}
25 configure -- pre-make configuration tool (unix-shell)
26 configure.bat -- pre-nmake configuration tool (windows batch)
27 configure.rc -- pre-mk configuration tool (Plan 9's rc)
28 CMakeLists.txt-- top-level project information for CMake
29 Makefile -- GNU/BSD makefile (output of ./configure)
30 Nmakefile -- MS nmake makefile
31 mkfile -- Plan 9 mkfile
32 LICENSE -- license information
33 README -- quickstart doc
34 buildsys/ -- build system details and extras
35 doc/ -- platform specific readme's and manual
36 dyncall/ -- dyncall library source code
37 dyncallback/ -- dyncallback library source code
38 dynload/ -- dynload library source code
39 test/ -- test suites
40 \end{verbatim}
41
42
43 \subsection{Test suites}
44
45 \begin{description}
46
47 \item [plain]
48 Simple, identity, unary function calls for all supported return types and
49 calling conventions.
50
51 \item [plain\_c++]
52 Similar to plain, but for C++ thiscalls (GNU and MS calling convention).
53
54 \item [suite]
55 All combinations of parameter types and counts are tested on void function
56 calls. A script written in Python ({\tt mkcase.py}) generates the tests up to
57 an upper MAXARG limit.
58
59 \item [suite\_floats]
60 Based on suite. Test double/float variants with up to 10 arguments.
61
62 \item [suite\_x86win32std]
63 All combinations of parameter types and counts are tested on {\tt \_\_stdcall}
64 void function calls. A script written in Python ({\tt mkcase.py}) generates
65 the tests up to an upper MAXARG limit. This is a x86/Windows only test.
66
67 \item [suite\_x86win32fast]
68 All combinations of parameter types and counts are tested on {\tt \_\_fastcall}
69 (MS or GNU, depending on the build tool) void function calls.
70 A script written in Python ({\tt mkcase.py}) generates the tests up to
71 an upper MAXARG limit. This is a x86/Windows only test.
72
73 \item [ellipsis]
74 All combinations of parameter types and counts are tested on void ellipsis
75 function calls. A script written in Python ({\tt mkcase.py}) generates the
76 tests up to an upper MAXARG limit.
77
78 \item [suite2]
79 Designed mass test suite for void function calls.
80 Tests individual void functions with a varying count of arguments and type.
81
82 \item [suite2\_win32std]
83 Designed mass test suite for {\tt \_\_stdcall} void function calls.
84 Tests individual void functions with a varying count of arguments and type.
85 This is a x86/Windows only test.
86
87 \item [suite2\_win32fast]
88 Designed mass test suite for {\tt \_\_fastcall} (MS or GNU, depending on the build tool) void function calls.
89 Tests individual void functions with a varying count of arguments and type.
90 This is a x86/Windows only test.
91
92 \item [suite3]
93 All combinations of parameter types integer, long long, float and double and
94 counts are tested on void function calls.
95 A script written in Python ({\tt mkcase.py}) generates the tests up to
96 an upper MAXARG limit.
97 This is a modified version of suite.
98
99 \item [call\_suite]
100 General purpose test suite combining aspects from all others suites (usually enough for
101 testing non-callback calls).
102 A script written in Lua generates the tests.
103
104 \item [callf]
105 Tests the \emph{formatted call} \product{dyncall} C API.
106
107 \item [malloc\_wx]
108 Tests \emph{writable and executable memory allocation} used by the
109 \product{dyncallback} C API.
110
111 \item [thunk]
112 Tests \emph{callbacks} for the \product{dyncallback} C API.
113
114 \item [callback\_plain]
115 Simple callback function test (useful for easy debugging of new ports).
116
117 \item [callback\_suite]
118 Mass test suite for callback function testing. Uses random function argument
119 number and type.
120 A script written in Lua generates the tests up to a given number of calls and
121 type combinations.
122
123 \item [resolv\_self]
124 Test for dynload library to resolve symbols from application image itself.
125
126 \end{description}
127