/* * 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); } } }