Developers
Noteworthy files in the project root
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 |
Test suites
- plain
- Simple, identity, mostly unary function calls for all supported return types and calling conventions. This is not an extensive test suite, but a good place to manually test certain cases.
- plain_c++
- Similar to plain, but for C++ thiscalls (in different forms and fashion, with aggregates, vararg methots, on x86 with GNU and MS calling convention, etc.).
- suite
- All combinations of parameter types and counts are tested on void function calls. A Python script (mkcase.py) generates the tests up to an upper MAXARG limit.
- suite_floats
- Based on suite. Test double/float variants with up to 10 arguments.
- call_suite_aggrs
- Tests passing and returning aggregates by value (struct/union and array members). Test cases can be designed in a signature-style format (and random ones generated via a Lua script).
- suite_x86win32std
- All combinations of parameter types and counts are tested on __stdcall void function calls. A Python script (mkcase.py) generates the tests up to an upper MAXARG limit. This is a x86/Windows only test.
- suite_x86win32fast
- All combinations of parameter types and counts are tested on __fastcall (MS or GNU, depending on the build tool) void function calls. A Python script (mkcase.py) generates the tests up to an upper MAXARG limit. This is a x86/Windows only test.
- ellipsis
- All combinations of parameter types and counts are tested on void ellipsis (vararg) function calls. A Python script (mkcase.py) generates the tests up to an upper MAXARG limit.
- suite2
- Designed mass test suite for void function calls. Tests individual void functions with a varying count of arguments and type.
- suite2_win32std
- Designed mass test suite for __stdcall void function calls. Tests individual void functions with a varying count of arguments and type. This is a x86/Windows only test.
- suite2_win32fast
- Designed mass test suite for __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.
- 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 (mkcase.py) generates the tests up to an upper MAXARG limit. This is a modified version of suite.
- call_suite
- General purpose test suite combining aspects from all others suites (usually enough for testing non-callback calls). Test cases can be designed in a signature-style format (and random ones generated via a Lua script).
- callf
- Tests the formatted call/arg dyncall C API. Tries to cover all uses of that API (e.g. calling convention mode switches, aggregates, ...) but is not extensive.
- malloc_wx
- Tests writable and executable memory allocation used by the dyncallback C API.
- thunk
- Tests only the callback thunks for the dyncallback C API.
- callback_plain
- Simple callback function test (useful for easy debugging of new ports).
- callback_suite
- Mass test suite for callback function testing. Uses random function argument number and type. A Lua script the tests up to a given number of calls and type combinations.
- resolv_self
- Test for dynload library to resolve symbols from application image itself.