diff options
Diffstat (limited to 'tests/tests/security/src/android/security/cts/StagefrightTest.java')
-rw-r--r-- | tests/tests/security/src/android/security/cts/StagefrightTest.java | 22 |
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 " + |