diff --git a/testing/tools/run_corpus_tests.py b/testing/tools/run_corpus_tests.py
index 13376f7..1876581 100755
--- a/testing/tools/run_corpus_tests.py
+++ b/testing/tools/run_corpus_tests.py
@@ -42,6 +42,10 @@
   options, args = parser.parse_args()
   finder = common.DirectoryFinder(options.build_dir)
   pdfium_test_path = finder.ExecutablePath('pdfium_test')
+  if not os.path.exists(pdfium_test_path):
+    print "FAILURE: Can't find test executable '%s'" % pdfium_test_path
+    print "Use --build-dir to specify its location."
+    return 1
   working_dir = finder.WorkingDir(os.path.join('testing', 'corpus'))
   if not os.path.exists(working_dir):
     os.makedirs(working_dir)
diff --git a/testing/tools/run_javascript_tests.py b/testing/tools/run_javascript_tests.py
index 9b3d69e..ff66d9c 100755
--- a/testing/tools/run_javascript_tests.py
+++ b/testing/tools/run_javascript_tests.py
@@ -47,6 +47,10 @@
   text_diff_path = finder.ScriptPath('text_diff.py')
   source_dir = finder.TestingDir(os.path.join('resources', 'javascript'))
   pdfium_test_path = finder.ExecutablePath('pdfium_test')
+  if not os.path.exists(pdfium_test_path):
+    print "FAILURE: Can't find test executable '%s'" % pdfium_test_path
+    print "Use --build-dir to specify its location."
+    return 1
   working_dir = finder.WorkingDir(os.path.join('testing', 'javascript'))
   if not os.path.exists(working_dir):
     os.makedirs(working_dir)
diff --git a/testing/tools/run_pixel_tests.py b/testing/tools/run_pixel_tests.py
index 1fec0dd..1688462 100755
--- a/testing/tools/run_pixel_tests.py
+++ b/testing/tools/run_pixel_tests.py
@@ -46,6 +46,10 @@
   fixup_path = finder.ScriptPath('fixup_pdf_template.py')
   source_dir = finder.TestingDir(os.path.join('resources', 'pixel'))
   pdfium_test_path = finder.ExecutablePath('pdfium_test')
+  if not os.path.exists(pdfium_test_path):
+    print "FAILURE: Can't find test executable '%s'" % pdfium_test_path
+    print "Use --build-dir to specify its location."
+    return 1
   working_dir = finder.WorkingDir(os.path.join('testing', 'pixel'))
   if not os.path.exists(working_dir):
     os.makedirs(working_dir)
