1afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang/* 2afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang * Copyright (C) 2010, The Android Open Source Project 3afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang * 4afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang * Licensed under the Apache License, Version 2.0 (the "License"); 5afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang * you may not use this file except in compliance with the License. 6afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang * You may obtain a copy of the License at 7afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang * 8afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang * http://www.apache.org/licenses/LICENSE-2.0 9afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang * 10afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang * Unless required by applicable law or agreed to in writing, software 11afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang * distributed under the License is distributed on an "AS IS" BASIS, 12afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang * See the License for the specific language governing permissions and 14afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang * limitations under the License. 15afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang */ 16afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 17afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wangpackage com.android.frameworks.telephonytests; 18afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 19afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wangimport android.os.Bundle; 20afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 21afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wangimport android.test.InstrumentationTestRunner; 22afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wangimport android.test.InstrumentationTestSuite; 23afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wangimport android.util.Log; 24afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 25afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wangimport java.io.IOException; 26afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 27afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wangimport com.android.internal.telephony.RilChannel; 28afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wangimport com.android.internal.telephony.mockril.MockRilTest; 29afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 30afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wangimport junit.framework.TestSuite; 31afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 32afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wangpublic class TelephonyMockRilTestRunner extends InstrumentationTestRunner { 33afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 34afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang public RilChannel mMockRilChannel; 35afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 36afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang @Override 37afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang public TestSuite getAllTests() { 38afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang log("getAllTests E"); 39afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang TestSuite suite = new InstrumentationTestSuite(this); 40afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang suite.addTestSuite(MockRilTest.class); 41afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang log("getAllTests X"); 42afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang return suite; 43afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang } 44afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 45afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang @Override 46afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang public ClassLoader getLoader() { 47afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang log("getLoader EX"); 48afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang return TelephonyMockRilTestRunner.class.getClassLoader(); 49afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang } 50afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 51afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang @Override 52afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang public void onCreate(Bundle icicle) { 53afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang log("onCreate E"); 54afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang try { 55afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang mMockRilChannel = RilChannel.makeRilChannel(); 56afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang } catch (IOException e) { 57afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang // TODO Auto-generated catch block 58afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang e.printStackTrace(); 59afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang } 60afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang log("onCreate X"); 61afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 62afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang super.onCreate(icicle); 63afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang } 64afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 65afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang @Override 66afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang public void onDestroy() { 67afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang // I've not seen this called 68afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang log("onDestroy EX"); 69afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang super.onDestroy(); 70afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang } 71afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 72afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang @Override 73afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang public void onStart() { 74afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang // Called when the instrumentation thread is started. 75afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang // At the moment we don't need the thread so return 76afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang // which will shut down this unused thread. 77afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang log("onStart EX"); 78afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang super.onStart(); 79afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang } 80afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 81afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang @Override 82afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang public void finish(int resultCode, Bundle results) { 83afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang // Called when complete so I ask the mMockRilChannel to quit. 84afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang log("finish E"); 85afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang mMockRilChannel.close(); 86afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang log("finish X"); 87afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang super.finish(resultCode, results); 88afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang } 89afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang 90afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang private void log(String s) { 91afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang Log.e("TelephonyMockRilTestRunner", s); 92afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang } 93afeeaf351a6d48ff218b31775de9b73c8848eba5Xia Wang} 94