blob: fbaf0f324ab14cb8c50f77b50275666018c937af [file] [log] [blame]
/*
* Copyright (C) 2010, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.connectivitymanagertest;
import android.os.Bundle;
import android.test.InstrumentationTestRunner;
import android.test.InstrumentationTestSuite;
import com.android.connectivitymanagertest.stress.WifiApStress;
import com.android.connectivitymanagertest.stress.WifiStressTest;
import junit.framework.TestSuite;
/**
* Instrumentation Test Runner for all stress tests
*
* To run the stress tests:
*
* adb shell am instrument -e stressnum <stress times> \
* -w com.android.connectivitymanagertest/.ConnectivityManagerStressTestRunner
*/
public class ConnectivityManagerStressTestRunner extends InstrumentationTestRunner {
private int mSoftApIterations = 100;
private int mScanIterations = 100;
private int mReconnectIterations = 100;
// sleep time before restart wifi, default is set to 2 minutes
private long mSleepTime = 2 * 60 * 1000;
private String mReconnectSsid = null;
private String mReconnectPassword = null;
private boolean mWifiOnlyFlag = false;
@Override
public TestSuite getAllTests() {
TestSuite suite = new InstrumentationTestSuite(this);
suite.addTestSuite(WifiApStress.class);
suite.addTestSuite(WifiStressTest.class);
return suite;
}
@Override
public ClassLoader getLoader() {
return ConnectivityManagerTestRunner.class.getClassLoader();
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
String valueStr = icicle.getString("softap_iterations");
if (valueStr != null) {
int iteration = Integer.parseInt(valueStr);
if (iteration > 0) {
mSoftApIterations = iteration;
}
}
String scanIterationStr = icicle.getString("scan_iterations");
if (scanIterationStr != null) {
int scanIteration = Integer.parseInt(scanIterationStr);
if (scanIteration > 0) {
mScanIterations = scanIteration;
}
}
String ssidStr= icicle.getString("reconnect_ssid");
if (ssidStr != null) {
mReconnectSsid = ssidStr;
}
String passwordStr = icicle.getString("reconnect_password");
if (passwordStr != null) {
mReconnectPassword = passwordStr;
}
String reconnectStr = icicle.getString("reconnect_iterations");
if (reconnectStr != null) {
int iteration = Integer.parseInt(reconnectStr);
if (iteration > 0) {
mReconnectIterations = iteration;
}
}
String sleepTimeStr = icicle.getString("sleep_time");
if (sleepTimeStr != null) {
int sleepTime = Integer.parseInt(sleepTimeStr);
if (sleepTime > 0) {
mSleepTime = 1000 * sleepTime;
}
}
String wifiOnlyFlag = icicle.getString("wifi-only");
if (wifiOnlyFlag != null) {
mWifiOnlyFlag = true;
}
}
public int getSoftApInterations() {
return mSoftApIterations;
}
public int getScanIterations() {
return mScanIterations;
}
public int getReconnectIterations() {
return mReconnectIterations;
}
public boolean isWifiOnly() {
return mWifiOnlyFlag;
}
public long getSleepTime() {
return mSleepTime;
}
public String getReconnectSsid() {
return mReconnectSsid;
}
public String getReconnectPassword() {
return mReconnectPassword;
}
}