diff options
author | Brian Muramatsu <btmura@android.com> | 2011-06-06 14:59:17 -0700 |
---|---|---|
committer | Brian Muramatsu <btmura@android.com> | 2011-06-06 14:59:17 -0700 |
commit | 02551c5c4bb55be5eea6b33aed5bee5a72d21f4b (patch) | |
tree | fd167e57b9d352d88a3ad6b6d6b61c3f3a99bcef | |
parent | 5998c47c526101c5fadc3b2309e16ca02a1f41be (diff) | |
parent | 01552d10c2cb9c42c04f80db4cf4fe334d1af51e (diff) | |
download | platform_cts-02551c5c4bb55be5eea6b33aed5bee5a72d21f4b.tar.gz platform_cts-02551c5c4bb55be5eea6b33aed5bee5a72d21f4b.tar.bz2 platform_cts-02551c5c4bb55be5eea6b33aed5bee5a72d21f4b.zip |
Merge remote branch 'korg/froyo' into manualmerge
Conflicts:
tools/host/src/com/android/cts/Version.java
Change-Id: I742c222786c9b883c152cbb0cac1008451188106
-rw-r--r-- | tests/assets/noiseandchirps.mp3 | bin | 0 -> 66036 bytes | |||
-rw-r--r-- | tests/assets/noiseandchirps.ogg | bin | 0 -> 65903 bytes | |||
-rw-r--r-- | tests/src/android/webkit/cts/CtsTestServer.java | 6 | ||||
-rw-r--r-- | tests/tests/media/src/android/media/cts/MediaPlayerTest.java | 59 |
4 files changed, 58 insertions, 7 deletions
diff --git a/tests/assets/noiseandchirps.mp3 b/tests/assets/noiseandchirps.mp3 Binary files differnew file mode 100644 index 00000000000..a819efcd86e --- /dev/null +++ b/tests/assets/noiseandchirps.mp3 diff --git a/tests/assets/noiseandchirps.ogg b/tests/assets/noiseandchirps.ogg Binary files differnew file mode 100644 index 00000000000..1acb643decf --- /dev/null +++ b/tests/assets/noiseandchirps.ogg diff --git a/tests/src/android/webkit/cts/CtsTestServer.java b/tests/src/android/webkit/cts/CtsTestServer.java index af6d115d2ca..2a72d9fca89 100644 --- a/tests/src/android/webkit/cts/CtsTestServer.java +++ b/tests/src/android/webkit/cts/CtsTestServer.java @@ -100,6 +100,7 @@ public class CtsTestServer { public static final String COOKIE_PREFIX = "/cookie"; public static final String AUTH_PREFIX = "/auth"; public static final String SHUTDOWN_PREFIX = "/shutdown"; + public static final String NOLENGTH_POSTFIX = "nolength"; public static final int DELAY_MILLIS = 2000; public static final String AUTH_REALM = "Android CTS"; @@ -416,6 +417,7 @@ public class CtsTestServer { mLastQuery = uriString; URI uri = URI.create(uriString); String path = uri.getPath(); + String query = uri.getQuery(); if (path.equals(FAVICON_PATH)) { path = FAVICON_ASSET_PATH; } @@ -484,7 +486,9 @@ public class CtsTestServer { } entity.setContentType(mimeType); response.setEntity(entity); - response.setHeader("Content-Length", "" + entity.getContentLength()); + if (query == null || !query.contains(NOLENGTH_POSTFIX)) { + response.setHeader("Content-Length", "" + entity.getContentLength()); + } } catch (IOException e) { response = null; // fall through, return 404 at the end diff --git a/tests/tests/media/src/android/media/cts/MediaPlayerTest.java b/tests/tests/media/src/android/media/cts/MediaPlayerTest.java index a4a17c09dcb..d18d684c9ef 100644 --- a/tests/tests/media/src/android/media/cts/MediaPlayerTest.java +++ b/tests/tests/media/src/android/media/cts/MediaPlayerTest.java @@ -51,6 +51,7 @@ public class MediaPlayerTest extends ActivityInstrumentationTestCase2<MediaStubA private static String TAG = "CtsMediaPlayerTest"; private static final int SLEEP_TIME = 1000; + private static final int LONG_SLEEP_TIME = 6000; private final String mSourceMediaOnSdcard; private Monitor mOnVideoSizeChangedCalled = new Monitor(); private Monitor mOnBufferingUpdateCalled = new Monitor(); @@ -89,6 +90,10 @@ public class MediaPlayerTest extends ActivityInstrumentationTestCase2<MediaStubA private static class Monitor { private boolean signalled; + public synchronized void reset() { + signalled = false; + } + public synchronized void signal() { signalled = true; notifyAll(); @@ -419,15 +424,49 @@ public class MediaPlayerTest extends ActivityInstrumentationTestCase2<MediaStubA args = {} ) }) - public void testPlayStream() throws Throwable { + + public void testPlayMp3Stream1() throws Throwable { + streamTest("ringer.mp3", false, false); + } + public void testPlayMp3Stream2() throws Throwable { + streamTest("ringer.mp3", false, false); + } + public void testPlayMp3StreamRedirect() throws Throwable { + streamTest("ringer.mp3", true, false); + } + public void testPlayMp3StreamNoLength() throws Throwable { + streamTest("noiseandchirps.mp3", false, true); + } + public void testPlayOggStream() throws Throwable { + streamTest("noiseandchirps.ogg", false, false); + } + public void testPlayOggStreamRedirect() throws Throwable { + streamTest("noiseandchirps.ogg", true, false); + } + public void testPlayOggStreamNoLength() throws Throwable { + streamTest("noiseandchirps.ogg", false, true); + } + + private void streamTest(String name, boolean redirect, boolean nolength) throws Throwable { mServer = new CtsTestServer(mContext); - final String stream_mp3 = mServer.getAssetUrl("ringer.mp3"); + String stream_url = null; + if (redirect) { + // Stagefright doesn't have a limit, but we can't test support of infinite redirects + // Up to 4 redirects seems reasonable though. + stream_url = mServer.getRedirectingAssetUrl(name, 4); + } else { + stream_url = mServer.getAssetUrl(name); + } + if (nolength) { + stream_url = stream_url + "?" + CtsTestServer.NOLENGTH_POSTFIX; + } - mMediaPlayer.setDataSource(stream_mp3); + mMediaPlayer.setDataSource(stream_url); mMediaPlayer.setDisplay(getActivity().getSurfaceHolder()); mMediaPlayer.setScreenOnWhilePlaying(true); + mOnBufferingUpdateCalled.reset(); mMediaPlayer.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() { public void onBufferingUpdate(MediaPlayer mp, int percent) { mOnBufferingUpdateCalled.signal(); @@ -436,11 +475,18 @@ public class MediaPlayerTest extends ActivityInstrumentationTestCase2<MediaStubA assertFalse(mOnBufferingUpdateCalled.signalled); mMediaPlayer.prepare(); - mOnBufferingUpdateCalled.waitForSignal(); - mMediaPlayer.start(); - Thread.sleep(SLEEP_TIME); + if (nolength) { + mMediaPlayer.start(); + Thread.sleep(LONG_SLEEP_TIME); + assertFalse(mMediaPlayer.isPlaying()); + } else { + mOnBufferingUpdateCalled.waitForSignal(); + mMediaPlayer.start(); + Thread.sleep(SLEEP_TIME); + } mMediaPlayer.stop(); + mMediaPlayer.reset(); } @TestTargets({ @@ -537,6 +583,7 @@ public class MediaPlayerTest extends ActivityInstrumentationTestCase2<MediaStubA } }); + mOnCompletionCalled.reset(); mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { public void onCompletion(MediaPlayer mp) { mOnCompletionCalled.signal(); |