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 {
3886e15557c52e2847d2adc8495a281dcf0239506eEric Rowe    public boolean mWifiOnly = false;
3986e15557c52e2847d2adc8495a281dcf0239506eEric Rowe    public String mSsid = null;
4086e15557c52e2847d2adc8495a281dcf0239506eEric Rowe    public String mPassword = null;
41b97435c94f4d35a70d63e5dcba5415b0110cf2c9Xia Wang
42fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang    @Override
43fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang    public TestSuite getAllTests() {
44fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang        TestSuite suite = new InstrumentationTestSuite(this);
45776cca3b3a84cd16bdaccdd43963cc34d923e0a4Xia Wang        suite.addTestSuite(ConnectivityManagerMobileTest.class);
46ca1f2b1a1e8cb785be5ebbcf7ded7c921cbf80a7Xia Wang        suite.addTestSuite(WifiConnectionTest.class);
47fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang        return suite;
48fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang    }
49fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang
50fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang    @Override
51fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang    public ClassLoader getLoader() {
52fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang        return ConnectivityManagerTestRunner.class.getClassLoader();
53fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang    }
54fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang
55fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang    @Override
56fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang    public void onCreate(Bundle icicle) {
57fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang        super.onCreate(icicle);
5886e15557c52e2847d2adc8495a281dcf0239506eEric Rowe        String ssid = icicle.getString("ssid");
5986e15557c52e2847d2adc8495a281dcf0239506eEric Rowe        if (ssid != null) {
6086e15557c52e2847d2adc8495a281dcf0239506eEric Rowe            mSsid = ssid;
6186e15557c52e2847d2adc8495a281dcf0239506eEric Rowe        }
6286e15557c52e2847d2adc8495a281dcf0239506eEric Rowe        String password = (String) icicle.get("password");
6386e15557c52e2847d2adc8495a281dcf0239506eEric Rowe        if (password != null) {
6486e15557c52e2847d2adc8495a281dcf0239506eEric Rowe            mPassword = password;
65776cca3b3a84cd16bdaccdd43963cc34d923e0a4Xia Wang        }
66776cca3b3a84cd16bdaccdd43963cc34d923e0a4Xia Wang        String wifiOnlyFlag = (String) icicle.get("wifi-only");
67776cca3b3a84cd16bdaccdd43963cc34d923e0a4Xia Wang        if (wifiOnlyFlag != null) {
6886e15557c52e2847d2adc8495a281dcf0239506eEric Rowe            mWifiOnly = true;
69fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang        }
70fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang    }
7186e15557c52e2847d2adc8495a281dcf0239506eEric Rowe
7286e15557c52e2847d2adc8495a281dcf0239506eEric Rowe    public String getWifiSsid() {
7386e15557c52e2847d2adc8495a281dcf0239506eEric Rowe        return mSsid;
7486e15557c52e2847d2adc8495a281dcf0239506eEric Rowe    }
7586e15557c52e2847d2adc8495a281dcf0239506eEric Rowe
7686e15557c52e2847d2adc8495a281dcf0239506eEric Rowe    public String getWifiPassword() {
7786e15557c52e2847d2adc8495a281dcf0239506eEric Rowe        return mPassword;
7886e15557c52e2847d2adc8495a281dcf0239506eEric Rowe    }
7986e15557c52e2847d2adc8495a281dcf0239506eEric Rowe
8086e15557c52e2847d2adc8495a281dcf0239506eEric Rowe    public boolean isWifiOnly() {
8186e15557c52e2847d2adc8495a281dcf0239506eEric Rowe        return mWifiOnly;
8286e15557c52e2847d2adc8495a281dcf0239506eEric Rowe    }
83fc2dbd04005c32360eead803e29df3cc62209cd8Xia Wang}
84