Index: net/test/python_utils.cc |
diff --git a/net/test/python_utils.cc b/net/test/python_utils.cc |
index bd0e5654beabb0032fd3c836029da10bb4c6bf3d..9de1e7de8646b4c3cc30706932cd398a92e2b521 100644 |
--- a/net/test/python_utils.cc |
+++ b/net/test/python_utils.cc |
@@ -42,31 +42,6 @@ void AppendToPythonPath(const base::FilePath& dir) { |
} |
} |
-namespace { |
- |
-#if defined(OS_MACOSX) || defined(OS_CHROMEOS) |
-// Search for |to_try|, rolling up the directory tree from |
-// |start_dir|. If found, return true and put the path to |to_try| in |
-// |out_dir|. If not, return false and leave |out_dir| untouched. |
-bool TryRelativeToDir(const base::FilePath& start_dir, |
- const base::FilePath& to_try, |
- base::FilePath* out_dir) { |
- base::FilePath dir(start_dir); |
- while (!base::DirectoryExists(dir.Append(to_try))) { |
- base::FilePath parent = dir.DirName(); |
- if (parent == dir) { |
- // We hit the root directory. |
- return false; |
- } |
- dir = parent; |
- } |
- *out_dir = dir; |
- return true; |
-} |
-#endif // defined(OS_MACOSX) || defined(OS_CHROMEOS) |
- |
-} // namespace |
- |
bool GetPyProtoPath(base::FilePath* dir) { |
// Locate the Python code generated by the protocol buffers compiler. |
base::FilePath generated_code_dir; |
@@ -77,32 +52,19 @@ bool GetPyProtoPath(base::FilePath* dir) { |
const base::FilePath kPyProto(FILE_PATH_LITERAL("pyproto")); |
-#if defined(OS_MACOSX) || defined(OS_CHROMEOS) |
- base::FilePath source_dir; |
- if (!PathService::Get(base::DIR_SOURCE_ROOT, &source_dir)) { |
- LOG(ERROR) << "Can't find " << source_dir.value(); |
- return false; |
- } |
- // On Mac, and possibly Chrome OS, DIR_EXE might be pointing deep |
- // into the Release/ (or Debug/) directory and we can't depend on |
- // how far down it goes. So we walk upwards from DIR_EXE until we |
- // find a likely looking spot. |
- if (!TryRelativeToDir(generated_code_dir, kPyProto, dir)) { |
- LOG(WARNING) << "Can't find " << kPyProto.value() |
- << " next to " << generated_code_dir.value(); |
- // On Chrome OS, we may have installed the test binaries and support tools |
- // in a wholly separate location, relative to DIR_SOURCE_ROOT. We'll want |
- // to do a similar investigation from that point as well. |
- generated_code_dir = source_dir |
- .Append(FILE_PATH_LITERAL("out")) |
- .Append(FILE_PATH_LITERAL("Release")); |
- if (!TryRelativeToDir(generated_code_dir, kPyProto, dir)) { |
- LOG(WARNING) << "Can't find " << kPyProto.value() |
- << " next to " << generated_code_dir.value(); |
+#if defined(OS_MACOSX) |
+ // On Mac, DIR_EXE might be pointing deep into the Release/ (or Debug/) |
+ // directory and we can't depend on how far down it goes. So we walk upwards |
+ // from DIR_EXE until we find a likely looking spot. |
+ while (!base::DirectoryExists(generated_code_dir.Append(kPyProto))) { |
+ base::FilePath parent = generated_code_dir.DirName(); |
+ if (parent == generated_code_dir) { |
+ // We hit the root directory. Maybe we didn't build any targets which |
+ // produced Python protocol buffers. |
return false; |
} |
+ generated_code_dir = parent; |
} |
- generated_code_dir = *dir; |
#endif |
*dir = generated_code_dir.Append(kPyProto); |
VLOG(2) << "Found " << kPyProto.value() << " in " << dir->value(); |