Change runtest --path to only run first instrumentation found.

Bug 7311518

Change-Id: I208c78c73b821389d942700afe8ea7073c41e8d4
diff --git a/testrunner/test_defs/instrumentation_test.py b/testrunner/test_defs/instrumentation_test.py
index 092a773..d3c5c9f 100644
--- a/testrunner/test_defs/instrumentation_test.py
+++ b/testrunner/test_defs/instrumentation_test.py
@@ -252,25 +252,29 @@
                    (android_manifest.AndroidManifest.FILENAME,
                     self.GetBuildPath()))
         return tests
-
-      for instr_name in manifest_parser.GetInstrumentationNames():
-        pkg_name = manifest_parser.GetPackageName()
-        if instr_name.find(".") < 0:
-          instr_name = "." + instr_name
-        logger.SilentLog('Found instrumentation %s/%s' % (pkg_name, instr_name))
-        suite = InstrumentationTestSuite()
-        suite.SetPackageName(pkg_name)
-        suite.SetBuildPath(self.GetBuildPath())
-        suite.SetRunnerName(instr_name)
-        suite.SetName(pkg_name)
-        suite.SetClassName(class_name_arg)
-        suite.SetJavaPackageFilter(java_package_name)
-        # this is a bit of a hack, assume if 'com.android.cts' is in
-        # package name, this is a cts test
-        # this logic can be removed altogether when cts tests no longer require
-        # custom build steps
-        if suite.GetPackageName().startswith('com.android.cts'):
-          suite.SetSuite('cts')
+      elif len(instrs) > 1:
+        logger.Log("Found multiple instrumentation declarations in %s/%s."
+                   "Only using first declared." %
+                   (self.GetBuildPath(),
+                    android_manifest.AndroidManifest.FILENAME))
+      instr_name = manifest_parser.GetInstrumentationNames()[0]
+      pkg_name = manifest_parser.GetPackageName()
+      if instr_name.find(".") < 0:
+        instr_name = "." + instr_name
+      logger.SilentLog('Found instrumentation %s/%s' % (pkg_name, instr_name))
+      suite = InstrumentationTestSuite()
+      suite.SetPackageName(pkg_name)
+      suite.SetBuildPath(self.GetBuildPath())
+      suite.SetRunnerName(instr_name)
+      suite.SetName(pkg_name)
+      suite.SetClassName(class_name_arg)
+      suite.SetJavaPackageFilter(java_package_name)
+      # this is a bit of a hack, assume if 'com.android.cts' is in
+      # package name, this is a cts test
+      # this logic can be removed altogether when cts tests no longer require
+      # custom build steps
+      if suite.GetPackageName().startswith('com.android.cts'):
+        suite.SetSuite('cts')
         tests.append(suite)
       return tests