10 #if GTEST_HAS_FILE_SYSTEM
19 SetEnv(
const char* name,
const char*
value) : name_(name) {
20 const char* old_value = getenv(name);
21 if (old_value !=
nullptr) {
22 saved_value_ = old_value;
23 have_saved_value_ =
true;
25 if (value ==
nullptr) {
33 if (have_saved_value_) {
35 setenv(name_.c_str(), saved_value_.c_str(), 1 ));
43 bool have_saved_value_ =
false;
44 std::string saved_value_;
51 explicit MakeTempDir(
const std::string& testname) {
54 std::string pattern =
"/tmp/" + testname +
"_XXXXXX";
61 const char* DirName()
const {
return dirname_.c_str(); }
67 bool StartsWith(
const std::string& str,
const std::string& prefix) {
68 return str.substr(0, prefix.size()) == prefix;
71 TEST(TempDirTest, InEnvironment) {
75 MakeTempDir temp_dir(
"TempDirTest_InEnvironment");
76 SetEnv set_env(
"TEST_TMPDIR", temp_dir.DirName());
80 TEST(TempDirTest, NotInEnvironment) {
81 SetEnv set_env(
"TEST_TMPDIR",
nullptr);
85 TEST(SrcDirTest, InEnvironment) {
89 MakeTempDir temp_dir(
"SrcDirTest_InEnvironment");
90 SetEnv set_env(
"TEST_SRCDIR", temp_dir.DirName());
94 TEST(SrcDirTest, NotInEnvironment) {
95 SetEnv set_env(
"TEST_SRCDIR",
nullptr);
99 #endif // GTEST_HAS_FILE_SYSTEM
constexpr bool StartsWith(const char(&prefix)[N], const char(&str)[M])
#define EXPECT_NE(val1, val2)
#define TEST(test_suite_name, test_name)
GTEST_API_ std::string SrcDir()
#define GTEST_CHECK_(condition)
#define GTEST_CHECK_POSIX_SUCCESS_(posix_call)
#define EXPECT_TRUE(condition)
GTEST_API_ std::string TempDir()