diff options
author | Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> | 2011-11-15 11:47:10 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@betelgeuse.canonical.com> | 2011-11-15 11:47:10 +0000 |
commit | a0e3095b0bb69029f7bc6743ac20953a817852aa (patch) | |
tree | a4f225f2e38bf478f3761da1a000448bcaf0b13c | |
parent | c1043ed4650217056d7a628c9c65ec7b45415446 (diff) | |
parent | bfaad0975fbce00b1bfedd4e94561947409ae895 (diff) | |
download | base-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
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); + } +} |