Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fd4a7c83 authored by Yu Shan Emily Lau's avatar Yu Shan Emily Lau
Browse files

Add the a power test case which simply do the audio playback. The actual power...

Add the a power test case which simply do the audio playback. The actual power measurement will be done by another application.

Change-Id: I51008ffdbe60e7e0b298091eb914b74f2d6731f8
parent 1a140bf6
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -51,4 +51,9 @@
         android:label="MediaRecorder stress tests InstrumentationRunner">
     </instrumentation>

      <instrumentation android:name=".MediaFrameworkPowerTestRunner"
         android:targetPackage="com.android.mediaframeworktest"
         android:label="Media Power tests InstrumentationRunner">
     </instrumentation>

</manifest>
+50 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2010 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;

import com.android.mediaframeworktest.power.MediaPlayerPowerTest;

import junit.framework.TestSuite;

import android.test.InstrumentationTestRunner;
import android.test.InstrumentationTestSuite;


/**
 * Instrumentation Test Runner for all MediaPlayer tests.
 *
 * Running all tests:
 *
 * adb shell am instrument \
 *   -w com.android.mediaframeworktest/.MediaFrameworkPowerTestRunner
 */

public class MediaFrameworkPowerTestRunner extends InstrumentationTestRunner {

  @Override
  public TestSuite getAllTests() {
      TestSuite suite = new InstrumentationTestSuite(this);
      suite.addTestSuite(MediaPlayerPowerTest.class);
      return suite;
  }

  @Override
  public ClassLoader getLoader() {
      return MediaFrameworkPowerTestRunner.class.getClassLoader();
  }
}
+81 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2010 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.power;

import com.android.mediaframeworktest.MediaFrameworkTest;
import com.android.mediaframeworktest.MediaNames;
import android.media.MediaPlayer;
import android.os.Environment;
import android.test.ActivityInstrumentationTestCase2;
import android.util.Log;

import java.io.File;

/**
 * Junit / Instrumentation test case for the power measurment the media player
 */
public class MediaPlayerPowerTest extends ActivityInstrumentationTestCase2<MediaFrameworkTest> {
    private String TAG = "MediaPlayerPowerTest";
    private String MP3_POWERTEST =
            Environment.getExternalStorageDirectory().toString() + "/power_sample_mp3.mp3";
    private String MP3_STREAM = "http://75.17.48.204:10088/power_media/power_sample_mp3.mp3";
    private String OGG_STREAM = "http://75.17.48.204:10088/power_media/power_sample_ogg.mp3";
    private String AAC_STREAM = "http://75.17.48.204:10088/power_media/power_sample_aac.mp3";

    public MediaPlayerPowerTest() {
        super("com.android.mediaframeworktest", MediaFrameworkTest.class);
    }

    protected void setUp() throws Exception {
        getActivity();
        super.setUp();

    }

    public void audioPlayback(String filePath) {
        try {
            MediaPlayer mp = new MediaPlayer();
            mp.setDataSource(filePath);
            mp.prepare();
            mp.start();
            Thread.sleep(200000);
            mp.stop();
            mp.release();
        } catch (Exception e) {
            Log.v(TAG, e.toString());
            assertTrue("MP3 Playback", false);
        }
    }

    // A very simple test case which start the audio player.
    // Power measurment will be done in other application.
    public void testPowerLocalMP3Playback() throws Exception {
        audioPlayback(MP3_POWERTEST);
    }

    public void testPowerStreamMP3Playback() throws Exception {
        audioPlayback(MP3_STREAM);
    }

    public void testPowerStreamOGGPlayback() throws Exception {
        audioPlayback(OGG_STREAM);
    }

    public void testPowerStreamAACPlayback() throws Exception {
        audioPlayback(AAC_STREAM);
    }
}