diff options
Diffstat (limited to 'src/gtest-port.cc')
-rw-r--r-- | src/gtest-port.cc | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/gtest-port.cc b/src/gtest-port.cc index 32069146..6e8dca29 100644 --- a/src/gtest-port.cc +++ b/src/gtest-port.cc @@ -653,11 +653,23 @@ String GetCapturedStderr() { return GetCapturedStream(&g_captured_stderr); } #if GTEST_HAS_DEATH_TEST // A copy of all command line arguments. Set by InitGoogleTest(). -::std::vector<String> g_argvs; +::std::vector<testing::internal::string> g_argvs; -// Returns the command line as a vector of strings. -const ::std::vector<String>& GetArgvs() { return g_argvs; } +static const ::std::vector<testing::internal::string>* g_injected_test_argvs = + NULL; // Owned. +void SetInjectableArgvs(const ::std::vector<testing::internal::string>* argvs) { + if (g_injected_test_argvs != argvs) + delete g_injected_test_argvs; + g_injected_test_argvs = argvs; +} + +const ::std::vector<testing::internal::string>& GetInjectableArgvs() { + if (g_injected_test_argvs != NULL) { + return *g_injected_test_argvs; + } + return g_argvs; +} #endif // GTEST_HAS_DEATH_TEST #if GTEST_OS_WINDOWS_MOBILE |