|
@@ -23,8 +23,10 @@ using namespace llvm::sys;
|
|
extern "C" PIPSQUEAK_EXPORT const char *TestA() { return "ProcessCall"; }
|
|
extern "C" PIPSQUEAK_EXPORT const char *TestA() { return "ProcessCall"; }
|
|
|
|
|
|
std::string LibPath() {
|
|
std::string LibPath() {
|
|
|
|
+ const std::vector<testing::internal::string>& Argvs = testing::internal::GetArgvs();
|
|
|
|
+ const char *Argv0 = Argvs.size() > 0 ? Argvs[0].c_str() : "DynamicLibraryTests";
|
|
void *Ptr = (void*)(intptr_t)TestA;
|
|
void *Ptr = (void*)(intptr_t)TestA;
|
|
- std::string Path = fs::getMainExecutable("DynamicLibraryTests", Ptr);
|
|
|
|
|
|
+ std::string Path = fs::getMainExecutable(Argv0, Ptr);
|
|
llvm::SmallString<256> Buf(path::parent_path(Path));
|
|
llvm::SmallString<256> Buf(path::parent_path(Path));
|
|
path::append(Buf, "PipSqueak.so");
|
|
path::append(Buf, "PipSqueak.so");
|
|
return Buf.str();
|
|
return Buf.str();
|