10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/*
20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2010, The Android Open Source Project
30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License");
50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License.
60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at
70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *      http://www.apache.org/licenses/LICENSE-2.0
90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software
110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS,
120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and
140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License.
150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.frameworks.telephonytests;
180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
190825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Bundle;
200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
210825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.test.InstrumentationTestRunner;
220825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.test.InstrumentationTestSuite;
230825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.util.Log;
240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
250825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.io.IOException;
260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
270825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport com.android.internal.telephony.RilChannel;
280825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport com.android.internal.telephony.mockril.MockRilTest;
290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
300825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport junit.framework.TestSuite;
310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
320825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic class TelephonyMockRilTestRunner extends InstrumentationTestRunner {
330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public RilChannel mMockRilChannel;
350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    @Override
370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public TestSuite getAllTests() {
380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        log("getAllTests E");
390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        TestSuite suite = new InstrumentationTestSuite(this);
400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        suite.addTestSuite(MockRilTest.class);
410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        log("getAllTests X");
420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return suite;
430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    @Override
460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public ClassLoader getLoader() {
470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        log("getLoader EX");
480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return TelephonyMockRilTestRunner.class.getClassLoader();
490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    @Override
520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void onCreate(Bundle icicle) {
530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        log("onCreate E");
540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        try {
550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            mMockRilChannel = RilChannel.makeRilChannel();
560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        } catch (IOException e) {
570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            // TODO Auto-generated catch block
580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            e.printStackTrace();
590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        log("onCreate X");
610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        super.onCreate(icicle);
630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    @Override
660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void onDestroy() {
670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        // I've not seen this called
680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        log("onDestroy EX");
690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        super.onDestroy();
700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    @Override
730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void onStart() {
740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        // Called when the instrumentation thread is started.
750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        // At the moment we don't need the thread so return
760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        // which will shut down this unused thread.
770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        log("onStart EX");
780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        super.onStart();
790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    @Override
820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void finish(int resultCode, Bundle results) {
830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        // Called when complete so I ask the mMockRilChannel to quit.
840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        log("finish E");
850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        mMockRilChannel.close();
860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        log("finish X");
870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        super.finish(resultCode, results);
880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private void log(String s) {
910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        Log.e("TelephonyMockRilTestRunner", s);
920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville}
94