14491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin/*
24491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin * Copyright (C) 2013 The Android Open Source Project
34491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin *
44491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin * Licensed under the Apache License, Version 2.0 (the "License");
54491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin * you may not use this file except in compliance with the License.
64491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin * You may obtain a copy of the License at
74491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin *
84491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin *      http://www.apache.org/licenses/LICENSE-2.0
94491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin *
104491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin * Unless required by applicable law or agreed to in writing, software
114491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin * distributed under the License is distributed on an "AS IS" BASIS,
124491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin * See the License for the specific language governing permissions and
144491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin * limitations under the License.
154491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin */
164491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin
174491d684f47fcf1e05652f910587a930be8a4135Igor Murashkinpackage com.android.mediaframeworktest;
184491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin
194491d684f47fcf1e05652f910587a930be8a4135Igor Murashkinimport android.os.Bundle;
204491d684f47fcf1e05652f910587a930be8a4135Igor Murashkinimport android.test.InstrumentationTestRunner;
214491d684f47fcf1e05652f910587a930be8a4135Igor Murashkinimport android.test.InstrumentationTestSuite;
2270725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkinimport android.util.Log;
234491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin
244491d684f47fcf1e05652f910587a930be8a4135Igor Murashkinimport com.android.mediaframeworktest.integration.CameraBinderTest;
2570725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkinimport com.android.mediaframeworktest.integration.CameraDeviceBinderTest;
264491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin
274491d684f47fcf1e05652f910587a930be8a4135Igor Murashkinimport junit.framework.TestSuite;
284491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin
294491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin/**
304491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin * Instrumentation Test Runner for all media framework integration tests.
314491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin *
324491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin * Running all tests:
334491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin *
344491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin * adb shell am instrument -w com.android.mediaframeworktest/.MediaFrameworkIntegrationTestRunner
354491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin */
364491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin
374491d684f47fcf1e05652f910587a930be8a4135Igor Murashkinpublic class MediaFrameworkIntegrationTestRunner extends InstrumentationTestRunner {
384491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin
3970725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin    private static final String TAG = "MediaFrameworkIntegrationTestRunner";
4070725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin
41283ae234f98106783e0d63142809833b491e57feEino-Ville Talvala    public static String mCameraId = "0";
424491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin
434491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin    @Override
444491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin    public TestSuite getAllTests() {
454491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin        TestSuite suite = new InstrumentationTestSuite(this);
464491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin        suite.addTestSuite(CameraBinderTest.class);
4770725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin        suite.addTestSuite(CameraDeviceBinderTest.class);
484491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin        return suite;
494491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin    }
504491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin
514491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin    @Override
524491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin    public ClassLoader getLoader() {
534491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin        return MediaFrameworkIntegrationTestRunner.class.getClassLoader();
544491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin    }
554491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin
564491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin    @Override
574491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin    public void onCreate(Bundle icicle) {
584491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin        super.onCreate(icicle);
5970725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin
6070725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin        String cameraId = (String) icicle.get("camera_id");
6170725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin        if (cameraId != null) {
6270725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin            try {
6370725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin                Log.v(TAG,
6470725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin                        String.format("Reading camera_id from icicle: '%s'", cameraId));
65283ae234f98106783e0d63142809833b491e57feEino-Ville Talvala                mCameraId = cameraId;
6670725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin            }
6770725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin            catch (NumberFormatException e) {
6870725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin                Log.e(TAG, String.format("Failed to convert camera_id to integer"));
6970725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin            }
7070725500dcf3b666b43d50563d64705aab58d2d3Igor Murashkin        }
714491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin    }
724491d684f47fcf1e05652f910587a930be8a4135Igor Murashkin}
73