1fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang/* 2fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * Copyright (C) 2010, The Android Open Source Project 3fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * 4fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * Licensed under the Apache License, Version 2.0 (the "License"); 5fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * you may not use this file except in compliance with the License. 6fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * You may obtain a copy of the License at 7fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * 8fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * http://www.apache.org/licenses/LICENSE-2.0 9fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * 10fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * Unless required by applicable law or agreed to in writing, software 11fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * distributed under the License is distributed on an "AS IS" BASIS, 12fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * See the License for the specific language governing permissions and 14fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * limitations under the License. 15fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang */ 16fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang 17fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wangpackage com.android.connectivitymanagertest; 18fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang 19fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wangimport android.os.Bundle; 20fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wangimport android.test.InstrumentationTestRunner; 21fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wangimport android.test.InstrumentationTestSuite; 22b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang 23fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wangimport com.android.connectivitymanagertest.functional.ConnectivityManagerMobileTest; 24ca1f2b1a1e8cb785be5ebbcf7ded7c921cbf80a7Xia Wangimport com.android.connectivitymanagertest.functional.WifiConnectionTest; 25fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang 26fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wangimport junit.framework.TestSuite; 27fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang 28fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang/** 29fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * Instrumentation Test Runner for all connectivity manager tests. 30fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * 31fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * To run the connectivity manager tests: 32fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * 33fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * adb shell am instrument -e ssid <ssid> \ 34fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang * -w com.android.connectivitymanagertest/.ConnectivityManagerTestRunner 35fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang */ 36fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang 37fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wangpublic class ConnectivityManagerTestRunner extends InstrumentationTestRunner { 38b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang public String TEST_SSID = null; 39b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang 40fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang @Override 41fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang public TestSuite getAllTests() { 42fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang TestSuite suite = new InstrumentationTestSuite(this); 43b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang if (!UtilHelper.isWifiOnly()) { 44b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang suite.addTestSuite(ConnectivityManagerMobileTest.class); 45b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang } else { 46b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang // create a new test suite 47b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang suite.setName("ConnectivityManagerWifiOnlyFunctionalTests"); 48b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang String[] methodNames = {"testConnectToWifi", "testConnectToWifWithKnownAP", 49b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang "testDisconnectWifi", "testDataConnectionOverAMWithWifi", 50b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang "testDataConnectionWithWifiToAMToWifi", "testWifiStateChange"}; 51b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang Class<ConnectivityManagerMobileTest> testClass = ConnectivityManagerMobileTest.class; 52b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang for (String method: methodNames) { 53b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang suite.addTest(TestSuite.createTest(testClass, method)); 54b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang } 55b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang } 56ca1f2b1a1e8cb785be5ebbcf7ded7c921cbf80a7Xia Wang suite.addTestSuite(WifiConnectionTest.class); 57fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang return suite; 58fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang } 59fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang 60fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang @Override 61fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang public ClassLoader getLoader() { 62fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang return ConnectivityManagerTestRunner.class.getClassLoader(); 63fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang } 64fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang 65fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang @Override 66fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang public void onCreate(Bundle icicle) { 67fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang super.onCreate(icicle); 68fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang String testSSID = (String) icicle.get("ssid"); 69fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang if (testSSID != null) { 70fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang TEST_SSID = testSSID; 71fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang } 72fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang } 73fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang} 74