]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-dlopen: allow loading of multiple libraries 27853/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 18 Apr 2023 09:37:52 +0000 (11:37 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 30 May 2023 14:05:06 +0000 (16:05 +0200)
This is useful for debugging, for example if we want to test multiple different
dlls being loaded in the same namespace.

src/test/test-dlopen.c

index 35981ebc3b46fcf74bb2081651909914dac1dbc7..9c315373b4ff60719a9cb729cdad44708a6e2884 100644 (file)
@@ -6,10 +6,14 @@
 #include "macro.h"
 
 int main(int argc, char **argv) {
-        void *handle;
+        void *handles[argc - 1];
+        int i;
 
-        assert_se(handle = dlopen(argv[1], RTLD_NOW));
-        assert_se(dlclose(handle) == 0);
+        for (i = 0; i < argc - 1; i++)
+                assert_se(handles[i] = dlopen(argv[i + 1], RTLD_NOW));
+
+        for (i--; i >= 0; i--)
+                assert_se(dlclose(handles[i]) == 0);
 
         return EXIT_SUCCESS;
 }