Merge "Search the parameterized portion of test name non-greedy"
diff --git a/test_result_interfaces/com/android/tradefed/result/TestDescription.java b/test_result_interfaces/com/android/tradefed/result/TestDescription.java
index 265167d..5b149e2 100644
--- a/test_result_interfaces/com/android/tradefed/result/TestDescription.java
+++ b/test_result_interfaces/com/android/tradefed/result/TestDescription.java
@@ -28,7 +28,7 @@
public final class TestDescription implements Serializable {
/** Regex for method parameterized. For example: testName[0] */
- public static final Pattern PARAMETERIZED_TEST_REGEX = Pattern.compile("(.*)?\\[(.*)\\]$");
+ public static final Pattern PARAMETERIZED_TEST_REGEX = Pattern.compile("([^\\[]+)\\[(.*)\\]$");
private final String mClassName;
private final String mTestName;
diff --git a/tests/src/com/android/tradefed/result/TestDescriptionTest.java b/tests/src/com/android/tradefed/result/TestDescriptionTest.java
index 4a79d20..cae75df 100644
--- a/tests/src/com/android/tradefed/result/TestDescriptionTest.java
+++ b/tests/src/com/android/tradefed/result/TestDescriptionTest.java
@@ -91,5 +91,13 @@
mDescription = new TestDescription("className", "testName[key:22]");
assertEquals("testName[key:22]", mDescription.getTestName());
assertEquals("testName", mDescription.getTestNameWithoutParams());
+
+ mDescription =
+ new TestDescription(
+ "className", "testTransitions[BluetoothRouteTestParameters{key ='[]'}]");
+ assertEquals(
+ "testTransitions[BluetoothRouteTestParameters{key ='[]'}]",
+ mDescription.getTestName());
+ assertEquals("testTransitions", mDescription.getTestNameWithoutParams());
}
}