Tests: Respect TEST_TMPDIR, TMPDIR, TMP environmental variables
Use GetExistingTempDirectories() (which uses GetTempDirectories() which respects TEST_TMPDIR, TMPDIR, TMP environmental variables) for FLAGS_test_tmpdir variable used in some tests. Fixes: #793
This commit is contained in:
parent
b38ed9d08a
commit
612a7d28c1
@ -1819,7 +1819,7 @@ GLOG_EXPORT const std::vector<std::string>& GetLoggingDirectories();
|
||||
void TestOnly_ClearLoggingDirectoriesList();
|
||||
|
||||
// Returns a set of existing temporary directories, which will be a
|
||||
// subset of the directories returned by GetLogginDirectories().
|
||||
// subset of the directories returned by GetLoggingDirectories().
|
||||
// Thread-safe.
|
||||
GLOG_EXPORT void GetExistingTempDirectories(
|
||||
std::vector<std::string>* list);
|
||||
|
||||
@ -76,13 +76,16 @@ _END_GOOGLE_NAMESPACE_
|
||||
#define GLOG_EXPORT
|
||||
|
||||
static inline string GetTempDir() {
|
||||
#ifndef GLOG_OS_WINDOWS
|
||||
return "/tmp";
|
||||
#else
|
||||
char tmp[MAX_PATH];
|
||||
GetTempPathA(MAX_PATH, tmp);
|
||||
return tmp;
|
||||
#endif
|
||||
vector<string> temp_directories_list;
|
||||
google::GetExistingTempDirectories(&temp_directories_list);
|
||||
|
||||
if (temp_directories_list.empty()) {
|
||||
fprintf(stderr, "No temporary directory found\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
// Use first directory from list of existing temporary directories.
|
||||
return temp_directories_list.front();
|
||||
}
|
||||
|
||||
#if defined(GLOG_OS_WINDOWS) && defined(_MSC_VER) && !defined(TEST_SRC_DIR)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user