1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 12:41:49 +01:00

Try to fix ProgramTest on FreeBSD

This seemed like the cleanest way to find the test executable.  Also fix
the file mode.

llvm-svn: 180770
This commit is contained in:
Reid Kleckner 2013-04-30 04:30:41 +00:00
parent c3bc22082f
commit 1d971b9998
2 changed files with 9 additions and 3 deletions

7
unittests/Support/ProgramTest.cpp Executable file → Normal file
View File

@ -20,6 +20,9 @@
extern char **environ;
#endif
// From TestMain.cpp.
extern const char *TestMainArgv0;
namespace {
using namespace llvm;
@ -52,9 +55,7 @@ TEST(ProgramTest, CreateProcessTrailingSlash) {
exit(1);
}
// FIXME: Hardcoding argv0 here since I don't know a good cross-platform way
// to get it. Maybe ParseCommandLineOptions() should save it?
Path my_exe = Path::GetMainExecutable("SupportTests", &ProgramTestStringArg1);
Path my_exe = Path::GetMainExecutable(TestMainArgv0, &ProgramTestStringArg1);
const char *argv[] = {
my_exe.c_str(),
"--gtest_filter=ProgramTest.CreateProcessTrailingSlashChild",

View File

@ -20,11 +20,16 @@
# endif
#endif
const char *TestMainArgv0;
int main(int argc, char **argv) {
llvm::sys::PrintStackTraceOnErrorSignal();
testing::InitGoogleTest(&argc, argv);
llvm::cl::ParseCommandLineOptions(argc, argv);
// Make it easy for a test to re-execute itself by saving argv[0].
TestMainArgv0 = argv[0];
# if defined(LLVM_ON_WIN32)
// Disable all of the possible ways Windows conspires to make automated
// testing impossible.