diff options
Diffstat (limited to 'test/test-dlopen.c')
-rw-r--r-- | test/test-dlopen.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/test-dlopen.c b/test/test-dlopen.c new file mode 100644 index 00000000..e4524536 --- /dev/null +++ b/test/test-dlopen.c @@ -0,0 +1,19 @@ +#include <dlfcn.h> +#include <stdlib.h> + +int main(int argc, char **argv) { + + if (!getenv("TEST_DLOPEN_TARGET")) + return 1; + void* lib = dlopen(getenv("TEST_DLOPEN_TARGET"), RTLD_LAZY); + if (!lib) { + perror(dlerror()); + return 2; + } + int (*func)(int, char**) = dlsym(lib, "main_exported"); + if (!func) + return 3; + + return func(argc, argv); + +} |