| Index: build/android/run_tests.py | 
| diff --git a/build/android/run_tests.py b/build/android/run_tests.py | 
| index cf0d3cbd58b84d3a87d947144b15002e366672d2..a6ffdb15a5ecfda30d837d7b1062daaff982aa68 100755 | 
| --- a/build/android/run_tests.py | 
| +++ b/build/android/run_tests.py | 
| @@ -82,16 +82,19 @@ _TEST_SUITES = ['base_unittests', | 
| ] | 
|  | 
|  | 
| -def FullyQualifiedTestSuites(exe, option_test_suite): | 
| +def TestSuiteDir(build_type): | 
| +  """Return the base directory of test suites.""" | 
| +  return os.path.abspath(os.path.join(constants.CHROME_DIR, 'out', build_type)) | 
| + | 
| +def FullyQualifiedTestSuites(exe, option_test_suite, build_type): | 
| """Return a fully qualified list | 
|  | 
| Args: | 
| exe: if True, use the executable-based test runner. | 
| option_test_suite: the test_suite specified as an option. | 
| +    build_type: 'Release' or 'Debug'. | 
| """ | 
| -  # Assume the test suites are in out/Release. | 
| -  test_suite_dir = os.path.abspath(os.path.join(constants.CHROME_DIR, | 
| -                                                'out', 'Release')) | 
| +  test_suite_dir = TestSuiteDir(build_type) | 
| if option_test_suite: | 
| all_test_suites = [option_test_suite] | 
| else: | 
| @@ -101,7 +104,7 @@ def FullyQualifiedTestSuites(exe, option_test_suite): | 
| qualified_test_suites = [os.path.join(test_suite_dir, t) | 
| for t in all_test_suites] | 
| else: | 
| -    # out/Release/$SUITE_apk/$SUITE-debug.apk | 
| +    # out/(Debug|Release)/$SUITE_apk/$SUITE-debug.apk | 
| qualified_test_suites = [os.path.join(test_suite_dir, | 
| t + '_apk', | 
| t + '-debug.apk') | 
| @@ -195,7 +198,8 @@ class TestSharder(BaseTestSharder): | 
|  | 
| def __init__(self, attached_devices, test_suite, gtest_filter, | 
| test_arguments, timeout, rebaseline, performance_test, | 
| -               cleanup_test_files, tool, log_dump_name, fast_and_loose): | 
| +               cleanup_test_files, tool, log_dump_name, fast_and_loose, | 
| +               build_type): | 
| BaseTestSharder.__init__(self, attached_devices) | 
| self.test_suite = test_suite | 
| self.test_suite_basename = os.path.basename(test_suite) | 
| @@ -208,10 +212,12 @@ class TestSharder(BaseTestSharder): | 
| self.tool = tool | 
| self.log_dump_name = log_dump_name | 
| self.fast_and_loose = fast_and_loose | 
| +    self.build_type = build_type | 
| test = SingleTestRunner(self.attached_devices[0], test_suite, gtest_filter, | 
| test_arguments, timeout, rebaseline, | 
| performance_test, cleanup_test_files, tool, 0, | 
| -                            not not self.log_dump_name, fast_and_loose) | 
| +                            not not self.log_dump_name, fast_and_loose, | 
| +                            build_type) | 
| self.tests = [] | 
| if not self.gtest_filter: | 
| # No filter has been specified, let's add all tests then. | 
| @@ -245,7 +251,8 @@ class TestSharder(BaseTestSharder): | 
| test_filter, self.test_arguments, self.timeout, | 
| self.rebaseline, self.performance_test, | 
| self.cleanup_test_files, self.tool, index, | 
| -                            not not self.log_dump_name, self.fast_and_loose) | 
| +                            not not self.log_dump_name, self.fast_and_loose, | 
| +                            self.build_type) | 
|  | 
| def OnTestsCompleted(self, test_runners, test_results): | 
| """Notifies that we completed the tests.""" | 
| @@ -256,8 +263,7 @@ class TestSharder(BaseTestSharder): | 
| if self.log_dump_name: | 
| # Zip all debug info outputs into a file named by log_dump_name. | 
| debug_info.GTestDebugInfo.ZipAndCleanResults( | 
| -          os.path.join(constants.CHROME_DIR, 'out', 'Release', | 
| -                       'debug_info_dumps'), | 
| +          os.path.join(TestSuiteDir(self.build_type), 'debug_info_dumps'), | 
| self.log_dump_name) | 
|  | 
|  | 
| @@ -317,7 +323,8 @@ def _RunATestSuite(options): | 
| options.timeout, options.rebaseline, | 
| options.performance_test, | 
| options.cleanup_test_files, options.tool, | 
| -                        options.log_dump, options.fast_and_loose) | 
| +                        options.log_dump, options.fast_and_loose, | 
| +                        options.build_type) | 
| test_results = sharder.RunShardedTests() | 
|  | 
| for buildbot_emulator in buildbot_emulators: | 
| @@ -355,7 +362,8 @@ def Dispatch(options): | 
| xvfb = Xvfb() | 
| xvfb.Start() | 
|  | 
| -  all_test_suites = FullyQualifiedTestSuites(options.exe, options.test_suite) | 
| +  all_test_suites = FullyQualifiedTestSuites(options.exe, options.test_suite, | 
| +                                             options.build_type) | 
| failures = 0 | 
| for suite in all_test_suites: | 
| options.test_suite = suite | 
| @@ -422,6 +430,7 @@ def main(argv): | 
| option_parser.add_option('--exe', action='store_true', | 
| help='If set, use the exe test runner instead of ' | 
| 'the APK.') | 
| + | 
| options, args = option_parser.parse_args(argv) | 
| if len(args) > 1: | 
| print 'Unknown argument:', args[1:] | 
|  |