blob: ecdc287e79eaca97d4f7f334b12bba5854d10ff6 [file] [log] [blame]
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001/*
2 * Copyright (C) 2008 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.mediaframeworktest;
18
19import android.test.InstrumentationTestRunner;
20import android.test.InstrumentationTestSuite;
21import com.android.mediaframeworktest.unit.*;
22
23import junit.framework.TestSuite;
24
25/**
26 * Instrumentation Test Runner for all media framework unit tests.
Nicolas Cataniaa5ccb222009-07-14 21:55:54 -070027 *
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080028 * Make sure that MediaFrameworkUnitTestRunner has been added to
29 * AndroidManifest.xml file, and then "make -j4 mediaframeworktest; adb sync"
30 * to build and upload mediaframeworktest to the phone or emulator.
Nicolas Cataniaa5ccb222009-07-14 21:55:54 -070031 *
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080032 * Example on running all unit tests for a single class:
33 * adb shell am instrument -e class \
Nicolas Cataniaa5ccb222009-07-14 21:55:54 -070034 * com.android.mediaframeworktest.unit.MediaMetadataRetrieverUnitTest \
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080035 * -w com.android.mediaframeworktest/.MediaFrameworkUnitTestRunner
Nicolas Cataniaa5ccb222009-07-14 21:55:54 -070036 *
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080037 * Example on running all unit tests for the media framework:
38 * adb shell am instrument \
39 * -w com.android.mediaframeworktest/.MediaFrameworkUnitTestRunner
40 */
41
42public class MediaFrameworkUnitTestRunner extends InstrumentationTestRunner {
43
44 @Override
45 public TestSuite getAllTests() {
46 TestSuite suite = new InstrumentationTestSuite(this);
47 addMediaMetadataRetrieverStateUnitTests(suite);
48 addMediaRecorderStateUnitTests(suite);
49 addMediaPlayerStateUnitTests(suite);
Dongwon Kang8e2ed8d2011-10-10 19:18:45 -070050 addMediaScannerUnitTests(suite);
Igor Murashkine363fbb2013-06-25 20:26:06 +000051 addCameraUnitTests(suite);
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080052 return suite;
53 }
54
55 @Override
56 public ClassLoader getLoader() {
57 return MediaFrameworkUnitTestRunner.class.getClassLoader();
58 }
Nicolas Cataniaa5ccb222009-07-14 21:55:54 -070059
Igor Murashkine363fbb2013-06-25 20:26:06 +000060 private void addCameraUnitTests(TestSuite suite) {
61 suite.addTestSuite(CameraUtilsDecoratorTest.class);
62 suite.addTestSuite(CameraUtilsRuntimeExceptionTest.class);
63 suite.addTestSuite(CameraUtilsUncheckedThrowTest.class);
64 suite.addTestSuite(CameraUtilsBinderDecoratorTest.class);
Igor Murashkin70725502013-06-25 20:27:06 +000065 suite.addTestSuite(CameraMetadataTest.class);
Igor Murashkine363fbb2013-06-25 20:26:06 +000066 }
67
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080068 // Running all unit tests checking the state machine may be time-consuming.
69 private void addMediaMetadataRetrieverStateUnitTests(TestSuite suite) {
70 suite.addTestSuite(MediaMetadataRetrieverTest.class);
71 }
Nicolas Cataniaa5ccb222009-07-14 21:55:54 -070072
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080073 // Running all unit tests checking the state machine may be time-consuming.
74 private void addMediaRecorderStateUnitTests(TestSuite suite) {
75 suite.addTestSuite(MediaRecorderPrepareStateUnitTest.class);
76 suite.addTestSuite(MediaRecorderResetStateUnitTest.class);
77 suite.addTestSuite(MediaRecorderSetAudioEncoderStateUnitTest.class);
78 suite.addTestSuite(MediaRecorderSetAudioSourceStateUnitTest.class);
79 suite.addTestSuite(MediaRecorderSetOutputFileStateUnitTest.class);
80 suite.addTestSuite(MediaRecorderSetOutputFormatStateUnitTest.class);
81 suite.addTestSuite(MediaRecorderStartStateUnitTest.class);
82 suite.addTestSuite(MediaRecorderStopStateUnitTest.class);
83 }
84
85 // Running all unit tests checking the state machine may be time-consuming.
86 private void addMediaPlayerStateUnitTests(TestSuite suite) {
87 suite.addTestSuite(MediaPlayerGetDurationStateUnitTest.class);
88 suite.addTestSuite(MediaPlayerSeekToStateUnitTest.class);
89 suite.addTestSuite(MediaPlayerGetCurrentPositionStateUnitTest.class);
90 suite.addTestSuite(MediaPlayerGetVideoWidthStateUnitTest.class);
91 suite.addTestSuite(MediaPlayerGetVideoHeightStateUnitTest.class);
92 suite.addTestSuite(MediaPlayerIsPlayingStateUnitTest.class);
93 suite.addTestSuite(MediaPlayerResetStateUnitTest.class);
94 suite.addTestSuite(MediaPlayerPauseStateUnitTest.class);
95 suite.addTestSuite(MediaPlayerStartStateUnitTest.class);
96 suite.addTestSuite(MediaPlayerStopStateUnitTest.class);
97 suite.addTestSuite(MediaPlayerSetLoopingStateUnitTest.class);
98 suite.addTestSuite(MediaPlayerSetAudioStreamTypeStateUnitTest.class);
99 suite.addTestSuite(MediaPlayerSetVolumeStateUnitTest.class);
Nicolas Cataniaa5ccb222009-07-14 21:55:54 -0700100 suite.addTestSuite(MediaPlayerMetadataParserTest.class);
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800101 }
Dongwon Kang8e2ed8d2011-10-10 19:18:45 -0700102
103 private void addMediaScannerUnitTests(TestSuite suite) {
104 suite.addTestSuite(MediaInserterTest.class);
105 }
The Android Open Source Project9066cfe2009-03-03 19:31:44 -0800106}