summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>2011-11-15 11:47:10 +0000
committerGerrit Code Review <gerrit@betelgeuse.canonical.com>2011-11-15 11:47:10 +0000
commita0e3095b0bb69029f7bc6743ac20953a817852aa (patch)
treea4f225f2e38bf478f3761da1a000448bcaf0b13c
parentc1043ed4650217056d7a628c9c65ec7b45415446 (diff)
parentbfaad0975fbce00b1bfedd4e94561947409ae895 (diff)
downloadbase-linaro_android_2.3.5.tar.gz
Merge "add MediaSamplesTest to mediaframeworktest delete whitespace at end of line according review comment" into linaro_android_2.3.5linaro_android_2.3.5
-rwxr-xr-xmedia/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkTestRunner.java52
-rw-r--r--media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java14
-rw-r--r--media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaSamplesTest.java56
3 files changed, 119 insertions, 3 deletions
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkTestRunner.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkTestRunner.java
index 46135ff19015..87cd8f1ac669 100755
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkTestRunner.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaFrameworkTestRunner.java
@@ -21,6 +21,7 @@ import com.android.mediaframeworktest.functional.MediaAudioTrackTest;
import com.android.mediaframeworktest.functional.MediaMetadataTest;
import com.android.mediaframeworktest.functional.MediaMimeTest;
import com.android.mediaframeworktest.functional.MediaPlayerApiTest;
+import com.android.mediaframeworktest.functional.MediaSamplesTest;
import com.android.mediaframeworktest.functional.MediaRecorderTest;
import com.android.mediaframeworktest.functional.SimTonesTest;
import com.android.mediaframeworktest.functional.MediaPlayerInvokeTest;
@@ -33,11 +34,13 @@ import com.android.mediaframeworktest.functional.MediaPresetReverbTest;
import com.android.mediaframeworktest.functional.MediaVirtualizerTest;
import com.android.mediaframeworktest.functional.MediaVisualizerTest;
import junit.framework.TestSuite;
+import java.io.File;
+import java.util.Arrays;
+import android.os.Bundle;
import android.test.InstrumentationTestRunner;
import android.test.InstrumentationTestSuite;
-
/**
* Instrumentation Test Runner for all MediaPlayer tests.
*
@@ -49,10 +52,24 @@ import android.test.InstrumentationTestSuite;
public class MediaFrameworkTestRunner extends InstrumentationTestRunner {
+ public static String mTargetDir = "/sdcard/";
+
+ @Override
+ public void onCreate (Bundle arguments){
+ String targetDir = (String)arguments.get("targetDir");
+ if(targetDir != null){
+ mTargetDir = targetDir;
+ }
+ super.onCreate(arguments);
+ }
@Override
public TestSuite getAllTests() {
TestSuite suite = new InstrumentationTestSuite(this);
+ if((mTargetDir != null) && (mTargetDir != "")){
+ addMMTestCase(suite, MediaFrameworkTestRunner.mTargetDir);
+ }
+ /*
suite.addTestSuite(MediaPlayerApiTest.class);
suite.addTestSuite(SimTonesTest.class);
suite.addTestSuite(MediaMetadataTest.class);
@@ -69,9 +86,40 @@ public class MediaFrameworkTestRunner extends InstrumentationTestRunner {
suite.addTestSuite(MediaPresetReverbTest.class);
suite.addTestSuite(MediaVirtualizerTest.class);
suite.addTestSuite(MediaVisualizerTest.class);
- return suite;
+ */ return suite;
}
+ public void addMMTestCase(TestSuite suite, String testFilesDir){
+ File dir = new File(testFilesDir);
+ String[] children;
+ if (dir.isFile()){
+ children = new String[]{testFilesDir};
+ }else{
+ children = dir.list();
+ }
+ if (children == null) {
+ return;
+ } else {
+ Arrays.sort(children);
+ int length = children.length;
+ for (int i = 0; i < length; i++) {
+ String filename = children[i];
+ final File subFile = new File(dir + "/" + filename);
+ if (subFile.isDirectory()){
+ addMMTestCase(suite, subFile.getPath());
+ }else{
+ MediaSamplesTest tempTestCase= new MediaSamplesTest(){
+ protected void runTest() throws Exception {
+ testSubPlay(subFile.getPath());
+ }
+ };
+ tempTestCase.setName(filename);
+ suite.addTest(tempTestCase);
+ }
+ }
+ return;
+ }
+ }
@Override
public ClassLoader getLoader() {
return MediaFrameworkTestRunner.class.getClassLoader();
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java
index 2eea206bacd4..b663ceabe8f7 100644
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/CodecTest.java
@@ -740,12 +740,23 @@ public class CodecTest {
static MediaPlayer.OnCompletionListener mCompletionListener = new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
synchronized (onCompletion) {
- Log.v(TAG, "notify the completion callback");
+ Log.v(TAG, "notify the completion callback from OnCompletion");
onCompletion.notify();
onCompleteSuccess = true;
}
}
};
+ static MediaPlayer.OnErrorListener mErrorListener = new MediaPlayer.OnErrorListener() {
+ public boolean onError(MediaPlayer mp, int what, int extra) {
+ synchronized (onCompletion) {
+ Log.v(TAG, "notify the completion callback from OnError what=" + what + ", extra=" + extra);
+ onCompletion.notify();
+ onCompleteSuccess = false;
+ }
+ //avoid to execute the complete again
+ return true;
+ }
+ };
// For each media file, forward twice and backward once, then play to the end
public static boolean playMediaSamples(String filePath) throws Exception {
@@ -765,6 +776,7 @@ public class CodecTest {
}
try {
mMediaPlayer.setOnCompletionListener(mCompletionListener);
+ mMediaPlayer.setOnErrorListener(mErrorListener);
Log.v(TAG, "playMediaSamples: sample file name " + filePath);
mMediaPlayer.setDataSource(filePath);
mMediaPlayer.setDisplay(MediaFrameworkTest.mSurfaceView.getHolder());
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaSamplesTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaSamplesTest.java
new file mode 100644
index 000000000000..6f7a5c319873
--- /dev/null
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/MediaSamplesTest.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.mediaframeworktest.functional;
+
+import com.android.mediaframeworktest.MediaFrameworkTest;
+import com.android.mediaframeworktest.MediaNames;
+import com.android.mediaframeworktest.MediaProfileReader;
+
+import android.content.Context;
+import android.test.ActivityInstrumentationTestCase;
+import android.util.Log;
+import android.test.suitebuilder.annotation.LargeTest;
+import android.test.suitebuilder.annotation.MediumTest;
+import android.test.suitebuilder.annotation.Suppress;
+
+import java.io.File;
+import junit.framework.*;
+
+/**
+ * Junit / Instrumentation test case for the media player api
+ */
+public class MediaSamplesTest extends ActivityInstrumentationTestCase<MediaFrameworkTest> {
+ private String TAG = "MediaSamplesTest";
+
+ public MediaSamplesTest() {
+ super("com.android.mediaframeworktest", MediaFrameworkTest.class);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ @LargeTest
+ public void testSubPlay(String path) throws Exception{
+ boolean onCompleteSuccess = false;
+ Log.v(TAG,
+ "testSubPlay: file to be played: "
+ + path);
+ onCompleteSuccess = CodecTest.playMediaSamples(path);
+ assertTrue("testSubPlay:" + path, onCompleteSuccess);
+ }
+}