summaryrefslogtreecommitdiff
path: root/tests/tests/security/src/android/security/cts/StagefrightTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tests/security/src/android/security/cts/StagefrightTest.java')
-rw-r--r--tests/tests/security/src/android/security/cts/StagefrightTest.java22
1 files changed, 19 insertions, 3 deletions
diff --git a/tests/tests/security/src/android/security/cts/StagefrightTest.java b/tests/tests/security/src/android/security/cts/StagefrightTest.java
index 394ae145734..5cc40244c39 100644
--- a/tests/tests/security/src/android/security/cts/StagefrightTest.java
+++ b/tests/tests/security/src/android/security/cts/StagefrightTest.java
@@ -59,6 +59,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.ReentrantLock;
+import java.util.regex.Pattern;
import android.security.cts.R;
@@ -447,8 +448,23 @@ public class StagefrightTest extends InstrumentationTestCase {
MediaPlayer.OnPreparedListener,
MediaPlayer.OnCompletionListener {
- private final String[] validProcessNames = {
- "mediaserver", "mediadrmserver", "media.extractor", "media.codec", "media.metrics"
+ private final Pattern[] validProcessPatterns = {
+ Pattern.compile("adsprpcd"),
+ Pattern.compile("android\\.hardware\\.cas@\\d+?\\.\\d+?-service"),
+ Pattern.compile("android\\.hardware\\.drm@\\d+?\\.\\d+?-service"),
+ Pattern.compile("android\\.hardware\\.drm@\\d+?\\.\\d+?-service\\.clearkey"),
+ Pattern.compile("android\\.hardware\\.drm@\\d+?\\.\\d+?-service\\.widevine"),
+ Pattern.compile("android\\.process\\.media"),
+ Pattern.compile("mediadrmserver"),
+ Pattern.compile("media\\.extractor"),
+ Pattern.compile("media\\.metrics"),
+ Pattern.compile("mediaserver"),
+ Pattern.compile("media\\.codec"),
+ Pattern.compile("media\\.swcodec"),
+ Pattern.compile("\\[?sdcard\\]?"), // name:/system/bin/sdcard, user:media_rw
+ // Match any vendor processes.
+ // It should only catch crashes that happen during the test.
+ Pattern.compile("vendor.*"),
};
@Override
@@ -496,7 +512,7 @@ public class StagefrightTest extends InstrumentationTestCase {
if (crashes == null) {
Log.e(TAG, "Crash results not found for test " + getName());
return what;
- } else if (CrashUtils.detectCrash(validProcessNames, true, crashes)) {
+ } else if (CrashUtils.securityCrashDetected(crashes, true, validProcessPatterns)) {
return what;
} else {
Log.i(TAG, "Crash ignored due to no security crash found for test " +