diff --git a/internal/ceres/schur_eliminator_test.cc b/internal/ceres/schur_eliminator_test.cc
index 7fedb96..c14901f 100644
--- a/internal/ceres/schur_eliminator_test.cc
+++ b/internal/ceres/schur_eliminator_test.cc
@@ -35,21 +35,18 @@
 #include "ceres/block_sparse_matrix.h"
 #include "ceres/casts.h"
 #include "ceres/detect_structure.h"
-#include "ceres/file.h"
 #include "ceres/internal/eigen.h"
 #include "ceres/internal/scoped_ptr.h"
 #include "ceres/linear_least_squares_problems.h"
+#include "ceres/test_util.h"
 #include "ceres/triplet_sparse_matrix.h"
 #include "ceres/types.h"
-#include "gflags/gflags.h"
 #include "glog/logging.h"
 #include "gtest/gtest.h"
 
 // TODO(sameeragarwal): Reduce the size of these tests and redo the
 // parameterization to be more efficient.
 
-DECLARE_string(test_srcdir);
-
 namespace ceres {
 namespace internal {
 
@@ -219,9 +216,7 @@
 
 #ifndef CERES_DONT_HAVE_PROTOCOL_BUFFERS
 TEST_F(SchurEliminatorTest, BlockProblem) {
-  const string input_file =
-      JoinPath(FLAGS_test_srcdir,
-                     "problem-6-1384-000.lsqp");  // NOLINT
+  const string input_file = TestFileAbsolutePath("problem-6-1384-000.lsqp");
 
   SetUpFromFilename(input_file);
   ComputeReferenceSolution(VectorRef(D.get(), A->num_cols()));
diff --git a/internal/ceres/system_test.cc b/internal/ceres/system_test.cc
index b771268..7cdff21 100644
--- a/internal/ceres/system_test.cc
+++ b/internal/ceres/system_test.cc
@@ -44,7 +44,6 @@
 #include <string>
 
 #include "ceres/autodiff_cost_function.h"
-#include "ceres/file.h"
 #include "ceres/problem.h"
 #include "ceres/rotation.h"
 #include "ceres/solver.h"
@@ -55,8 +54,6 @@
 #include "glog/logging.h"
 #include "gtest/gtest.h"
 
-DECLARE_string(test_srcdir);
-
 namespace ceres {
 namespace internal {
 
@@ -311,8 +308,7 @@
 class BundleAdjustmentProblem {
  public:
   BundleAdjustmentProblem() {
-    const string input_file = JoinPath(FLAGS_test_srcdir,
-                                       "problem-16-22106-pre.txt");
+    const string input_file = TestFileAbsolutePath("problem-16-22106-pre.txt");
     ReadData(input_file);
     BuildProblem();
   }
diff --git a/internal/ceres/test_util.cc b/internal/ceres/test_util.cc
index e98052d..8a1def7 100644
--- a/internal/ceres/test_util.cc
+++ b/internal/ceres/test_util.cc
@@ -31,10 +31,20 @@
 // Utility functions useful for testing.
 
 #include <cmath>
+#include "ceres/file.h"
 #include "ceres/stringprintf.h"
 #include "glog/logging.h"
 #include "gtest/gtest.h"
 
+DECLARE_string(test_srcdir);
+
+// This macro is used to inject additional path information specific
+// to the build system.
+
+#ifndef CERES_TEST_SRCDIR_SUFFIX
+#define CERES_TEST_SRCDIR_SUFFIX ""
+#endif
+
 namespace ceres {
 namespace internal {
 
@@ -106,5 +116,11 @@
   }
 }
 
+string TestFileAbsolutePath(const string& filename) {
+  return JoinPath(FLAGS_test_srcdir + CERES_TEST_SRCDIR_SUFFIX,
+                  filename);
+}
+
+
 }  // namespace internal
 }  // namespace ceres
diff --git a/internal/ceres/test_util.h b/internal/ceres/test_util.h
index 93dc343..4c530de 100644
--- a/internal/ceres/test_util.h
+++ b/internal/ceres/test_util.h
@@ -28,6 +28,9 @@
 //
 // Author: keir@google.com (Keir Mierle)
 
+#include <string>
+#include "ceres/internal/port.h"
+
 #ifndef CERES_INTERNAL_TEST_UTIL_H_
 #define CERES_INTERNAL_TEST_UTIL_H_
 
@@ -58,6 +61,10 @@
                                 const double* q,
                                 double tolerance);
 
+// Construct a fully qualified path for the test file depending on the
+// local build/testing environment.
+string TestFileAbsolutePath(const string& filename);
+
 }  // namespace internal
 }  // namespace ceres
 
diff --git a/internal/ceres/visibility_based_preconditioner_test.cc b/internal/ceres/visibility_based_preconditioner_test.cc
index 5c4a6e8..bf01acb 100644
--- a/internal/ceres/visibility_based_preconditioner_test.cc
+++ b/internal/ceres/visibility_based_preconditioner_test.cc
@@ -45,11 +45,10 @@
 #include "ceres/schur_eliminator.h"
 #include "ceres/stringprintf.h"
 #include "ceres/types.h"
+#include "ceres/test_util.h"
 #include "glog/logging.h"
 #include "gtest/gtest.h"
 
-DECLARE_string(test_srcdir);
-
 namespace ceres {
 namespace internal {
 
@@ -65,9 +64,7 @@
 
  protected:
   void SetUp() {
-    string input_file =
-        JoinPath(FLAGS_test_srcdir,
-                       "problem-6-1384-000.lsqp"); // NOLINT
+    string input_file = TestFileAbsolutePath("problem-6-1384-000.lsqp");
 
     scoped_ptr<LinearLeastSquaresProblem> problem(
         CHECK_NOTNULL(CreateLinearLeastSquaresProblemFromFile(input_file)));
