diff options
Diffstat (limited to 'test/gtest-death-test_test.cc')
-rw-r--r-- | test/gtest-death-test_test.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/gtest-death-test_test.cc b/test/gtest-death-test_test.cc index e794a09e..aa7e31cd 100644 --- a/test/gtest-death-test_test.cc +++ b/test/gtest-death-test_test.cc @@ -33,6 +33,7 @@ #include <gtest/gtest-death-test.h> #include <gtest/gtest.h> +#include <gtest/internal/gtest-filepath.h> #if GTEST_HAS_DEATH_TEST @@ -62,6 +63,7 @@ using testing::Message; using testing::internal::DeathTest; using testing::internal::DeathTestFactory; +using testing::internal::FilePath; using testing::internal::GetLastSystemErrorMessage; using testing::internal::ParseNaturalNumber; using testing::internal::String; @@ -99,6 +101,16 @@ class ReplaceDeathTestFactory { class TestForDeathTest : public testing::Test { protected: + TestForDeathTest() : original_dir_(FilePath::GetCurrentDir()) {} + + virtual ~TestForDeathTest() { +#if GTEST_OS_WINDOWS + _chdir(original_dir_.c_str()); +#else + chdir(original_dir_.c_str()); +#endif + } + // A static member function that's expected to die. static void StaticMemberFunction() { fprintf(stderr, "%s", "death inside StaticMemberFunction()."); @@ -121,6 +133,7 @@ class TestForDeathTest : public testing::Test { // True iff MemberFunction() should die. bool should_die_; + const FilePath original_dir_; }; // A class with a member function that may die. |