Mercurial > pub > dyncall > dyncall
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 |