| /* |
| * Copyright (C) 2011, 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.mms; |
| |
| import android.os.Bundle; |
| import android.test.InstrumentationTestRunner; |
| import android.test.InstrumentationTestSuite; |
| |
| import com.android.mms.ui.MultiPartSmsTests; |
| import com.android.mms.ui.SmsStressTest; |
| |
| import junit.framework.TestSuite; |
| |
| /** |
| * TestRunner for Sms tests |
| * To run the test type command |
| * adb shell am instrument -e recipient 6509339530 -e messages 10 |
| * -e messagefile words -e recipientfile recipients -e receivetimer 180 |
| * -e sendinterval 10 -w com.android.mms.tests/com.android.mms.SmsTestRunner |
| */ |
| public class SmsTestRunner extends InstrumentationTestRunner{ |
| // a single recipient, default is the local number |
| public String mRecipient = null; |
| // number of messages to send |
| public int mNumberMessages = 0; |
| // file used to store a message (under /data/data/com.android.mms/files/) |
| public String mMessageFileName = null; |
| // file to store recipients separated by comma (/data/data/com.android.mms/files/) |
| public String mRecipientFileName = null; |
| // timer (in ms) to wait before checking receiving message |
| public long mReceiveTimer = 0; |
| // time interval (in ms) between two consecutive messages |
| public long mSendInterval = 0; |
| |
| @Override |
| public TestSuite getAllTests() { |
| TestSuite suite = new InstrumentationTestSuite(this); |
| // create a test suite |
| suite.addTestSuite(MultiPartSmsTests.class); |
| suite.addTestSuite(SmsStressTest.class); |
| return suite; |
| } |
| |
| @Override |
| public ClassLoader getLoader() { |
| return SmsTestRunner.class.getClassLoader(); |
| } |
| |
| @Override |
| public void onCreate(Bundle icicle) { |
| super.onCreate(icicle); |
| |
| // parse all input arguments |
| String recipientPhoneNumber = (String) icicle.get("recipient"); |
| if (recipientPhoneNumber != null) { |
| mRecipient = recipientPhoneNumber; |
| } |
| String numMsgStr = (String) icicle.get("messages"); |
| if (numMsgStr != null) { |
| mNumberMessages = Integer.parseInt(numMsgStr); |
| } |
| String msgFileNameStr = (String) icicle.get("messagefile"); |
| if (msgFileNameStr != null) { |
| mMessageFileName = msgFileNameStr; |
| } |
| String recpFileNameStr = (String) icicle.get("recipientfile"); |
| if (recpFileNameStr != null) { |
| mRecipientFileName = recpFileNameStr; |
| } |
| // user input is by seconds, convert to ms |
| String receiveTimerStr = (String) icicle.get("receivetimer"); |
| if (receiveTimerStr != null) { |
| mReceiveTimer = (long)1000 * Integer.parseInt(receiveTimerStr); |
| } |
| // user input is by seconds, convert to ms |
| String sendIntervalStr = (String) icicle.get("sendinterval"); |
| if (sendIntervalStr != null) { |
| mSendInterval = (long)1000 * Integer.parseInt(sendIntervalStr); |
| } |
| } |
| } |