1import core.runtime;
2import core.stdc.string;
3import core.sys.posix.dlfcn;
4
5extern(C) alias RunDepTests = int function();
6
7void main(string[] args)
8{
9    auto name = args[0] ~ '\0';
10    const pathlen = strrchr(name.ptr, '/') - name.ptr + 1;
11    name = name[0 .. pathlen] ~ "liblinkdep.so";
12
13    auto h = Runtime.loadLibrary(name);
14    assert(h);
15    auto runDepTests = cast(RunDepTests)dlsym(h, "runDepTests");
16    assert(runDepTests());
17    assert(Runtime.unloadLibrary(h));
18}
19