| Index: build/android/pylib/instrumentation/instrumentation_test_instance.py
 | 
| diff --git a/build/android/pylib/instrumentation/instrumentation_test_instance.py b/build/android/pylib/instrumentation/instrumentation_test_instance.py
 | 
| index a87f81aeefbc75e9a0f99d6d049178de0758f52c..598967b4b30265590f4bfe09cf1b02ced8af1be5 100644
 | 
| --- a/build/android/pylib/instrumentation/instrumentation_test_instance.py
 | 
| +++ b/build/android/pylib/instrumentation/instrumentation_test_instance.py
 | 
| @@ -5,6 +5,7 @@
 | 
|  import logging
 | 
|  import os
 | 
|  import pickle
 | 
| +import re
 | 
|  import sys
 | 
|  
 | 
|  from pylib import cmd_helper
 | 
| @@ -24,6 +25,7 @@ import unittest_util
 | 
|  _DEFAULT_ANNOTATIONS = [
 | 
|      'Smoke', 'SmallTest', 'MediumTest', 'LargeTest',
 | 
|      'EnormousTest', 'IntegrationTest']
 | 
| +_NATIVE_CRASH_RE = re.compile('native crash', re.IGNORECASE)
 | 
|  _PICKLE_FORMAT_VERSION = 10
 | 
|  
 | 
|  
 | 
| @@ -270,6 +272,10 @@ class InstrumentationTestInstance(test_instance.TestInstance):
 | 
|          self._flags.extend([flag for flag in stripped_lines if flag])
 | 
|  
 | 
|    @property
 | 
| +  def suite(self):
 | 
| +    return 'instrumentation'
 | 
| +
 | 
| +  @property
 | 
|    def apk_under_test(self):
 | 
|      return self._apk_under_test
 | 
|  
 | 
| @@ -459,6 +465,33 @@ class InstrumentationTestInstance(test_instance.TestInstance):
 | 
|      return inflated_tests
 | 
|  
 | 
|    @staticmethod
 | 
| +  def GenerateMultiTestResult(errors, statuses):
 | 
| +    INSTR_STATUS_CODE_START = 1
 | 
| +    results = []
 | 
| +    skip_counter = 1
 | 
| +    for status_code, bundle in statuses:
 | 
| +      if status_code != INSTR_STATUS_CODE_START:
 | 
| +        # TODO(rnephew): Make skipped tests still output test name. This is only
 | 
| +        # there to give skipped tests a unique name so they are counted
 | 
| +        if 'test_skipped' in bundle:
 | 
| +          test_name = str(skip_counter)
 | 
| +          skip_counter += 1
 | 
| +        else:
 | 
| +          test_name = '%s#%s' % (
 | 
| +              ''.join(bundle.get('class', [''])),
 | 
| +              ''.join(bundle.get('test', [''])))
 | 
| +
 | 
| +        results.append(
 | 
| +            GenerateTestResult(test_name, [(status_code, bundle)], 0, 0))
 | 
| +    for error in errors:
 | 
| +      if _NATIVE_CRASH_RE.search(error):
 | 
| +        results.append(
 | 
| +            base_test_result.BaseTestResult(
 | 
| +            'Crash detected', base_test_result.ResultType.CRASH))
 | 
| +
 | 
| +    return results
 | 
| +
 | 
| +  @staticmethod
 | 
|    def ParseAmInstrumentRawOutput(raw_output):
 | 
|      return ParseAmInstrumentRawOutput(raw_output)
 | 
|  
 | 
| 
 |