diff --git a/build/gen.py b/build/gen.py
index 6f13c8c..e3f2c46 100755
--- a/build/gen.py
+++ b/build/gen.py
@@ -1026,6 +1026,11 @@
   executables['gn']['libs'].extend(static_libraries.keys())
   executables['gn_unittests']['libs'].extend(static_libraries.keys())
 
+  # Write the absolute path of the source root to a file in the output directory
+  # so that tests can locate the source tree robustly.
+  with open(os.path.join(options.out_path, 'source_root.txt'), 'w') as f:
+    f.write(REPO_ROOT)
+
   WriteGenericNinja(path, static_libraries, executables, cxx, ar, ld,
                     platform, host, options, args_list,
                     cflags, ldflags, libflags, include_dirs, libs)
diff --git a/src/gn/command_format_unittest.cc b/src/gn/command_format_unittest.cc
index 4a8c597..8500525 100644
--- a/src/gn/command_format_unittest.cc
+++ b/src/gn/command_format_unittest.cc
@@ -5,13 +5,21 @@
 #include "gn/command_format.h"
 
 #include "base/files/file_util.h"
-#include "base/strings/string_util.h"
 #include "gn/commands.h"
+#include "gn/filesystem_utils.h"
 #include "gn/setup.h"
 #include "gn/test_with_scheduler.h"
 #include "util/exe_path.h"
 #include "util/test/test.h"
 
+base::FilePath GetFormatTestDataDir() {
+  base::FilePath source_root_path =
+      GetExePath().DirName().Append(FILE_PATH_LITERAL("source_root.txt"));
+  std::string source_root;
+  CHECK(base::ReadFileToString(source_root_path, &source_root));
+  return UTF8ToFilePath(source_root);
+}
+
 using FormatTest = TestWithScheduler;
 
 #define FORMAT_TEST(n) FORMAT_TEST_WITH_WIDTH(n, commands::kDefaultFormatWidth)
@@ -22,8 +30,7 @@
     std::string input;                                                         \
     std::string out;                                                           \
     std::string expected;                                                      \
-    base::FilePath src_dir =                                                   \
-        GetExePath().DirName().Append(FILE_PATH_LITERAL(".."));                \
+    base::FilePath src_dir = GetFormatTestDataDir();                           \
     base::SetCurrentDirectory(src_dir);                                        \
     ASSERT_TRUE(base::ReadFileToString(                                        \
         base::FilePath(FILE_PATH_LITERAL("src/gn/format_test_data/")           \
