The source project of this merge request has been removed.
External tests
Big merge just to get external tests working.
- fixed loader to use namespace prefixes for aliases
- removed hexloader and made a simple "hexmunger" branch of sys_do_load_lib for creators with non-alphanumeric characters in them
- change all files that depended on "hexloader" library to instead use the simplified "hexmunger" interface
- force all objects to instantiate with no arguments. (Some libraries still need to be addressed, like iemtab)
- fixed some obvious namespace pollution caused by external devs leaving off the
static
keyword in their function declarations - fixes lots of buffer overflows and invalid reads
- fix class_new to accept absolute path names without arbitrary 128 character symbol limit
- add methods to
[pdinfo]
that ease testing - add an external tests patch and run it as part of the CI build
- clamp build to return a minimum number of successful object creations in the tests, or fail the build
- fixed various buffer overflows and invalid reads of external libraries (and that's just in the constructors, who knows what happens when the user actually sends messages to these things)
- ported tof/imagebang since it wouldn't create without args
- run tests on the Ubuntu CI runners with valgrind to catch memory errors. (One strange one still outstanding.) Eventually we should be able to have valgrind send an error exit code on memory errors and actually fail the build, once we have it running on the Debian runners (and possibly OSX runner), too.
- fix up various parts of the build system that were causing trouble
- fix various things in lyonpotpourri, and use a gitlab mirror until we can upstream the fixes
- make
[declare -lib]
handle absolute paths correctly (solves part of a problem with recursive new_anything calls getting generating when loading certain libs) - fix some long-standing weirdness in iem libraries where objects needed to be loaded in a certain order for some symbols (that weren't declared
static
!) to get found. - fix various mismatched or improperly formatted constructor args in various libs