ConnectivityManagerStressTestRunner.java revision 90e1c782a63475cd9b3973936decf6a4f6c6148f
16026d52710d7a6195a33885020d29aa1330fa855Xia Wang/* 26026d52710d7a6195a33885020d29aa1330fa855Xia Wang * Copyright (C) 2010, The Android Open Source Project 36026d52710d7a6195a33885020d29aa1330fa855Xia Wang * 46026d52710d7a6195a33885020d29aa1330fa855Xia Wang * Licensed under the Apache License, Version 2.0 (the "License"); 56026d52710d7a6195a33885020d29aa1330fa855Xia Wang * you may not use this file except in compliance with the License. 66026d52710d7a6195a33885020d29aa1330fa855Xia Wang * You may obtain a copy of the License at 76026d52710d7a6195a33885020d29aa1330fa855Xia Wang * 86026d52710d7a6195a33885020d29aa1330fa855Xia Wang * http://www.apache.org/licenses/LICENSE-2.0 96026d52710d7a6195a33885020d29aa1330fa855Xia Wang * 106026d52710d7a6195a33885020d29aa1330fa855Xia Wang * Unless required by applicable law or agreed to in writing, software 116026d52710d7a6195a33885020d29aa1330fa855Xia Wang * distributed under the License is distributed on an "AS IS" BASIS, 126026d52710d7a6195a33885020d29aa1330fa855Xia Wang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136026d52710d7a6195a33885020d29aa1330fa855Xia Wang * See the License for the specific language governing permissions and 146026d52710d7a6195a33885020d29aa1330fa855Xia Wang * limitations under the License. 156026d52710d7a6195a33885020d29aa1330fa855Xia Wang */ 166026d52710d7a6195a33885020d29aa1330fa855Xia Wang 176026d52710d7a6195a33885020d29aa1330fa855Xia Wangpackage com.android.connectivitymanagertest; 186026d52710d7a6195a33885020d29aa1330fa855Xia Wang 196026d52710d7a6195a33885020d29aa1330fa855Xia Wangimport android.os.Bundle; 206026d52710d7a6195a33885020d29aa1330fa855Xia Wangimport android.test.InstrumentationTestRunner; 216026d52710d7a6195a33885020d29aa1330fa855Xia Wangimport android.test.InstrumentationTestSuite; 226026d52710d7a6195a33885020d29aa1330fa855Xia Wangimport com.android.connectivitymanagertest.stress.WifiApStress; 2390e1c782a63475cd9b3973936decf6a4f6c6148fXia Wangimport com.android.connectivitymanagertest.stress.WifiStressTest; 246026d52710d7a6195a33885020d29aa1330fa855Xia Wang 256026d52710d7a6195a33885020d29aa1330fa855Xia Wangimport junit.framework.TestSuite; 266026d52710d7a6195a33885020d29aa1330fa855Xia Wang 276026d52710d7a6195a33885020d29aa1330fa855Xia Wang/** 286026d52710d7a6195a33885020d29aa1330fa855Xia Wang * Instrumentation Test Runner for all stress tests 296026d52710d7a6195a33885020d29aa1330fa855Xia Wang * 306026d52710d7a6195a33885020d29aa1330fa855Xia Wang * To run the stress tests: 316026d52710d7a6195a33885020d29aa1330fa855Xia Wang * 326026d52710d7a6195a33885020d29aa1330fa855Xia Wang * adb shell am instrument -e stressnum <stress times> \ 336026d52710d7a6195a33885020d29aa1330fa855Xia Wang * -w com.android.connectivitymanagertest/.ConnectivityManagerStressTestRunner 346026d52710d7a6195a33885020d29aa1330fa855Xia Wang */ 356026d52710d7a6195a33885020d29aa1330fa855Xia Wang 366026d52710d7a6195a33885020d29aa1330fa855Xia Wangpublic class ConnectivityManagerStressTestRunner extends InstrumentationTestRunner { 3790e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang public int mSoftapIterations = 100; 3890e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang public int mScanIterations = 100; 3990e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang public int mReconnectIterations = 100; 4090e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang public int mSleepTime = 30 * 1000; // default sleep time is 30 seconds 4190e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang public String mReconnectSsid = "securenetdhcp"; 4290e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang public String mReconnectPassword = "androidwifi"; 4390e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang 446026d52710d7a6195a33885020d29aa1330fa855Xia Wang @Override 456026d52710d7a6195a33885020d29aa1330fa855Xia Wang public TestSuite getAllTests() { 466026d52710d7a6195a33885020d29aa1330fa855Xia Wang TestSuite suite = new InstrumentationTestSuite(this); 476026d52710d7a6195a33885020d29aa1330fa855Xia Wang suite.addTestSuite(WifiApStress.class); 4890e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang suite.addTestSuite(WifiStressTest.class); 496026d52710d7a6195a33885020d29aa1330fa855Xia Wang return suite; 506026d52710d7a6195a33885020d29aa1330fa855Xia Wang } 516026d52710d7a6195a33885020d29aa1330fa855Xia Wang 526026d52710d7a6195a33885020d29aa1330fa855Xia Wang @Override 536026d52710d7a6195a33885020d29aa1330fa855Xia Wang public ClassLoader getLoader() { 546026d52710d7a6195a33885020d29aa1330fa855Xia Wang return ConnectivityManagerTestRunner.class.getClassLoader(); 556026d52710d7a6195a33885020d29aa1330fa855Xia Wang } 566026d52710d7a6195a33885020d29aa1330fa855Xia Wang 576026d52710d7a6195a33885020d29aa1330fa855Xia Wang @Override 586026d52710d7a6195a33885020d29aa1330fa855Xia Wang public void onCreate(Bundle icicle) { 596026d52710d7a6195a33885020d29aa1330fa855Xia Wang super.onCreate(icicle); 6090e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang String valueStr = (String) icicle.get("softap_iterations"); 6190e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang if (valueStr != null) { 6290e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang int iteration = Integer.parseInt(valueStr); 636026d52710d7a6195a33885020d29aa1330fa855Xia Wang if (iteration > 0) { 6490e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang mSoftapIterations = iteration; 6590e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang } 6690e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang } 6790e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang 6890e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang String scanIterationStr = (String) icicle.get("scan_iterations"); 6990e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang if (scanIterationStr != null) { 7090e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang int scanIteration = Integer.parseInt(scanIterationStr); 7190e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang if (scanIteration > 0) { 7290e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang mScanIterations = scanIteration; 7390e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang } 7490e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang } 7590e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang 7690e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang String ssidStr= (String) icicle.get("reconnect_ssid"); 7790e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang if (ssidStr != null) { 7890e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang mReconnectSsid = ssidStr; 7990e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang } 8090e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang 8190e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang String passwordStr = (String) icicle.get("reconnect_password"); 8290e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang if (passwordStr != null) { 8390e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang mReconnectPassword = passwordStr; 8490e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang } 8590e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang 8690e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang String reconnectStr = (String) icicle.get("reconnect_iterations"); 8790e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang if (reconnectStr != null) { 8890e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang int iteration = Integer.parseInt(reconnectStr); 8990e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang if (iteration > 0) { 9090e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang mReconnectIterations = iteration; 916026d52710d7a6195a33885020d29aa1330fa855Xia Wang } 926026d52710d7a6195a33885020d29aa1330fa855Xia Wang } 936026d52710d7a6195a33885020d29aa1330fa855Xia Wang 9490e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang String sleepTimeStr = (String) icicle.get("sleep_time"); 9590e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang if (sleepTimeStr != null) { 9690e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang int sleepTime = Integer.parseInt(sleepTimeStr); 9790e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang if (sleepTime > 0) { 9890e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang mSleepTime = 1000 * sleepTime; 9990e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang } 10090e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang } 10190e1c782a63475cd9b3973936decf6a4f6c6148fXia Wang } 1026026d52710d7a6195a33885020d29aa1330fa855Xia Wang} 103