aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkosak@google.com <kosak@google.com@861a406c-534a-0410-8894-cb66d6ee9925>2014-07-29 00:30:10 +0000
committerkosak@google.com <kosak@google.com@861a406c-534a-0410-8894-cb66d6ee9925>2014-07-29 00:30:10 +0000
commit4650552ff637bb44ecf7784060091cbed3252211 (patch)
tree2246bcfb6dd878ec240a7336184c3f59ba2ae7f9
parentd9abf3b04db54a8081365ab131aeb0943b5aab36 (diff)
downloadgtest-4650552ff637bb44ecf7784060091cbed3252211.tar.gz
Mock out GetCurrentDir in NaCl.
git-svn-id: http://googletest.googlecode.com/svn/trunk@692 861a406c-534a-0410-8894-cb66d6ee9925
-rw-r--r--src/gtest-filepath.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gtest-filepath.cc b/src/gtest-filepath.cc
index 219875c..0292dc1 100644
--- a/src/gtest-filepath.cc
+++ b/src/gtest-filepath.cc
@@ -106,7 +106,14 @@ FilePath FilePath::GetCurrentDir() {
return FilePath(_getcwd(cwd, sizeof(cwd)) == NULL ? "" : cwd);
#else
char cwd[GTEST_PATH_MAX_ + 1] = { '\0' };
- return FilePath(getcwd(cwd, sizeof(cwd)) == NULL ? "" : cwd);
+ char* result = getcwd(cwd, sizeof(cwd));
+# if GTEST_OS_NACL
+ // getcwd will likely fail in NaCl due to the sandbox, so return something
+ // reasonable. The user may have provided a shim implementation for getcwd,
+ // however, so fallback only when failure is detected.
+ return FilePath(result == NULL ? kCurrentDirectoryString : cwd);
+# endif // GTEST_OS_NACL
+ return FilePath(result == NULL ? "" : cwd);
#endif // GTEST_OS_WINDOWS_MOBILE
}