[llvm] r180770 - Try to fix ProgramTest on FreeBSD
Reid Kleckner
reid at kleckner.net
Mon Apr 29 21:30:41 PDT 2013
Author: rnk
Date: Mon Apr 29 23:30:41 2013
New Revision: 180770
URL: http://llvm.org/viewvc/llvm-project?rev=180770&view=rev
Log:
Try to fix ProgramTest on FreeBSD
This seemed like the cleanest way to find the test executable. Also fix
the file mode.
Modified:
llvm/trunk/unittests/Support/ProgramTest.cpp (contents, props changed)
llvm/trunk/utils/unittest/UnitTestMain/TestMain.cpp
Modified: llvm/trunk/unittests/Support/ProgramTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/ProgramTest.cpp?rev=180770&r1=180769&r2=180770&view=diff
==============================================================================
--- llvm/trunk/unittests/Support/ProgramTest.cpp (original)
+++ llvm/trunk/unittests/Support/ProgramTest.cpp Mon Apr 29 23:30:41 2013
@@ -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, CreateProcessTrailingS
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",
Propchange: llvm/trunk/unittests/Support/ProgramTest.cpp
------------------------------------------------------------------------------
--- svn:executable (original)
+++ svn:executable (removed)
@@ -1 +0,0 @@
-*
Modified: llvm/trunk/utils/unittest/UnitTestMain/TestMain.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/unittest/UnitTestMain/TestMain.cpp?rev=180770&r1=180769&r2=180770&view=diff
==============================================================================
--- llvm/trunk/utils/unittest/UnitTestMain/TestMain.cpp (original)
+++ llvm/trunk/utils/unittest/UnitTestMain/TestMain.cpp Mon Apr 29 23:30:41 2013
@@ -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.
More information about the llvm-commits
mailing list