0
|
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}
|
76
|
24 \begin{tabular*}{0.75\textwidth}{ll}
|
|
25 {\tt configure} & pre-make configuration tool (unix-shell) \\
|
|
26 {\tt configure.bat} & pre-nmake configuration tool (windows batch) \\
|
|
27 {\tt configure.rc} & pre-mk configuration tool (Plan 9's rc) \\
|
|
28 {\tt CMakeLists.txt} & top-level project information for CMake \\
|
|
29 {\tt Makefile} & GNU/BSD makefile (output of ./configure) \\
|
|
30 {\tt Nmakefile} & MS nmake makefile \\
|
|
31 {\tt mkfile} & Plan 9 mkfile \\
|
|
32 {\tt LICENSE} & license information \\
|
|
33 {\tt README} & quickstart doc \\
|
|
34 {\tt buildsys/} & build system details and extras \\
|
|
35 {\tt doc/} & platform specific readme's and manual \\
|
|
36 {\tt dyncall/} & dyncall library source code \\
|
|
37 {\tt dyncallback/} & dyncallback library source code \\
|
|
38 {\tt dynload/} & dynload library source code \\
|
|
39 {\tt test/} & test suites \\
|
|
40 \end{tabular*}
|
0
|
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
|