Sonivox: add CTS test.

Bug: 26366256
Change-Id: Id33126e33951ee0b20aad5dd286569acaf47a35b
diff --git a/tests/tests/security/res/raw/bug_26366256.midi b/tests/tests/security/res/raw/bug_26366256.midi
new file mode 100644
index 0000000..5114d92
--- /dev/null
+++ b/tests/tests/security/res/raw/bug_26366256.midi
Binary files differ
diff --git a/tests/tests/security/src/android/security/cts/StagefrightTest.java b/tests/tests/security/src/android/security/cts/StagefrightTest.java
index 0f79860..14a62bb 100644
--- a/tests/tests/security/src/android/security/cts/StagefrightTest.java
+++ b/tests/tests/security/src/android/security/cts/StagefrightTest.java
@@ -43,6 +43,8 @@
 public class StagefrightTest extends InstrumentationTestCase {
     static final String TAG = "StagefrightTest";
 
+    private final long TIMEOUT_NS = 10000000000L;  // 10 seconds.
+
     public StagefrightTest() {
     }
 
@@ -94,6 +96,10 @@
         doStagefrightTest(R.raw.cve_2015_6598);
     }
 
+    public void testStagefright_bug_26366256() throws Exception {
+        doStagefrightTest(R.raw.bug_26366256);
+    }
+
     private void doStagefrightTest(final int rid) throws Exception {
         class MediaPlayerCrashListener
                 implements MediaPlayer.OnErrorListener,
@@ -124,7 +130,9 @@
 
             public int waitForError() throws InterruptedException {
                 lock.lock();
-                condition.await();
+                if (condition.awaitNanos(TIMEOUT_NS) <= 0) {
+                    Log.d(TAG, "timed out on waiting for error");
+                }
                 lock.unlock();
                 return what;
             }