Mercurial > pub > dyncall > dyncall
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/manual_devel.tex Thu Mar 19 22:24:28 2015 +0100 @@ -0,0 +1,127 @@ +%////////////////////////////////////////////////////////////////////////////// +% +% Copyright (c) 2007,2009 Daniel Adler <dadler@uni-goettingen.de>, +% Tassilo Philipp <tphilipp@potion-studios.com> +% +% Permission to use, copy, modify, and distribute this software for any +% purpose with or without fee is hereby granted, provided that the above +% copyright notice and this permission notice appear in all copies. +% +% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +% +%////////////////////////////////////////////////////////////////////////////// + +\newpage +\section{Developers} + +\subsection{Noteworthy files in the project root} +\begin{verbatim} +configure -- pre-make configuration tool (unix-shell) +configure.bat -- pre-nmake configuration tool (windows batch) +configure.rc -- pre-mk configuration tool (Plan 9's rc) +CMakeLists.txt-- top-level project information for CMake +Makefile -- GNU/BSD makefile (output of ./configure) +Nmakefile -- MS nmake makefile +mkfile -- Plan 9 mkfile +LICENSE -- license information +README -- quickstart doc +buildsys/ -- build system details and extras +doc/ -- platform specific readme's and manual +dyncall/ -- dyncall library source code +dyncallback/ -- dyncallback library source code +dynload/ -- dynload library source code +test/ -- test suites +\end{verbatim} + + +\subsection{Test suites} + +\begin{description} + +\item [plain] +Simple, identity, unary function calls for all supported return types and +calling conventions. + +\item [plain\_c++] +Similar to plain, but for C++ thiscalls (GNU and MS calling convention). + +\item [suite] +All combinations of parameter types and counts are tested on void function +calls. A script written in Python ({\tt mkcase.py}) generates the tests up to +an upper MAXARG limit. + +\item [suite\_floats] +Based on suite. Test double/float variants with up to 10 arguments. + +\item [suite\_x86win32std] +All combinations of parameter types and counts are tested on {\tt \_\_stdcall} +void function calls. A script written in Python ({\tt mkcase.py}) generates +the tests up to an upper MAXARG limit. This is a x86/Windows only test. + +\item [suite\_x86win32fast] +All combinations of parameter types and counts are tested on {\tt \_\_fastcall} +(MS or GNU, depending on the build tool) void function calls. +A script written in Python ({\tt mkcase.py}) generates the tests up to +an upper MAXARG limit. This is a x86/Windows only test. + +\item [ellipsis] +All combinations of parameter types and counts are tested on void ellipsis +function calls. A script written in Python ({\tt mkcase.py}) generates the +tests up to an upper MAXARG limit. + +\item [suite2] +Designed mass test suite for void function calls. +Tests individual void functions with a varying count of arguments and type. + +\item [suite2\_win32std] +Designed mass test suite for {\tt \_\_stdcall} void function calls. +Tests individual void functions with a varying count of arguments and type. +This is a x86/Windows only test. + +\item [suite2\_win32fast] +Designed mass test suite for {\tt \_\_fastcall} (MS or GNU, depending on the build tool) void function calls. +Tests individual void functions with a varying count of arguments and type. +This is a x86/Windows only test. + +\item [suite3] +All combinations of parameter types integer, long long, float and double and +counts are tested on void function calls. +A script written in Python ({\tt mkcase.py}) generates the tests up to +an upper MAXARG limit. +This is a modified version of suite. + +\item [call\_suite] +General purpose test suite combining aspects from all others suites (usually enough for +testing non-callback calls). +A script written in Lua generates the tests. + +\item [callf] +Tests the \emph{formatted call} \product{dyncall} C API. + +\item [malloc\_wx] +Tests \emph{writable and executable memory allocation} used by the +\product{dyncallback} C API. + +\item [thunk] +Tests \emph{callbacks} for the \product{dyncallback} C API. + +\item [callback\_plain] +Simple callback function test (useful for easy debugging of new ports). + +\item [callback\_suite] +Mass test suite for callback function testing. Uses random function argument +number and type. +A script written in Lua generates the tests up to a given number of calls and +type combinations. + +\item [resolv\_self] +Test for dynload library to resolve symbols from application image itself. + +\end{description} +