summaryrefslogtreecommitdiffstats
path: root/telephony/tests
diff options
context:
space:
mode:
authorXia Wang <xiaw@google.com>2010-10-11 10:32:04 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-10-11 10:32:04 -0700
commitd4e3bf4d035053740ca1cde1dee98e767b67b805 (patch)
tree42632d1a5cd38a363a2018ca0340abaffd7abdca /telephony/tests
parente69f1f1a748da99c82bcb56f6c7107a5618ba906 (diff)
parentc8511af04a442551a204b1f47fabb317bcf54be0 (diff)
downloadframeworks_base-d4e3bf4d035053740ca1cde1dee98e767b67b805.zip
frameworks_base-d4e3bf4d035053740ca1cde1dee98e767b67b805.tar.gz
frameworks_base-d4e3bf4d035053740ca1cde1dee98e767b67b805.tar.bz2
am c8511af0: Merge "Add mock ril control commands and tests" into gingerbread
Merge commit 'c8511af04a442551a204b1f47fabb317bcf54be0' into gingerbread-plus-aosp * commit 'c8511af04a442551a204b1f47fabb317bcf54be0': Add mock ril control commands and tests
Diffstat (limited to 'telephony/tests')
-rw-r--r--telephony/tests/telephonytests/src/com/android/internal/telephony/mockril/MockRilTest.java113
1 files changed, 110 insertions, 3 deletions
diff --git a/telephony/tests/telephonytests/src/com/android/internal/telephony/mockril/MockRilTest.java b/telephony/tests/telephonytests/src/com/android/internal/telephony/mockril/MockRilTest.java
index f0d5b31..3149ee1 100644
--- a/telephony/tests/telephonytests/src/com/android/internal/telephony/mockril/MockRilTest.java
+++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/mockril/MockRilTest.java
@@ -55,7 +55,7 @@ public class MockRilTest extends InstrumentationTestCase {
}
/**
- * Test protobuf serialization and deserialization
+ * Test Case 1: Test protobuf serialization and deserialization
* @throws InvalidProtocolBufferMicroException
*/
public void testProtobufSerDes() throws InvalidProtocolBufferMicroException {
@@ -77,7 +77,7 @@ public class MockRilTest extends InstrumentationTestCase {
}
/**
- * Test echo command works using writeMsg & readMsg
+ * Test case 2: Test echo command works using writeMsg & readMsg
*/
public void testEchoMsg() throws IOException {
log("testEchoMsg E");
@@ -110,7 +110,7 @@ public class MockRilTest extends InstrumentationTestCase {
}
/**
- * Test get as
+ * Test case 3: Test get as
*/
public void testGetAs() {
log("testGetAs E");
@@ -150,6 +150,9 @@ public class MockRilTest extends InstrumentationTestCase {
log("testGetAs X");
}
+ /**
+ * Test case 3: test get radio state
+ */
public void testGetRadioState() throws IOException {
log("testGetRadioState E");
@@ -175,6 +178,9 @@ public class MockRilTest extends InstrumentationTestCase {
log("testGetRadioState X");
}
+ /**
+ * Test case 5: test set radio state
+ */
public void testSetRadioState() throws IOException {
log("testSetRadioState E");
@@ -187,6 +193,9 @@ public class MockRilTest extends InstrumentationTestCase {
Msg.send(mMockRilChannel, RilCtrlCmds.CTRL_CMD_SET_RADIO_STATE, 0, 0, cmdrs);
Msg resp = Msg.recv(mMockRilChannel);
+ log("get response status :" + resp.getStatus());
+ log("get response for command: " + resp.getCmd());
+ log("get command token: " + resp.getToken());
RilCtrlCmds.CtrlRspRadioState rsp = resp.getDataAs(RilCtrlCmds.CtrlRspRadioState.class);
@@ -194,4 +203,102 @@ public class MockRilTest extends InstrumentationTestCase {
log("get response for testSetRadioState: " + state);
assertTrue(RilCmds.RADIOSTATE_SIM_NOT_READY == state);
}
+
+ /**
+ * Test case 6: test start incoming call and hangup it.
+ */
+ public void testStartIncomingCallAndHangup() throws IOException {
+ log("testStartIncomingCallAndHangup");
+ RilCtrlCmds.CtrlReqSetMTCall cmd = new RilCtrlCmds.CtrlReqSetMTCall();
+ String incomingCall = "6502889108";
+ // set the MT call
+ cmd.setPhoneNumber(incomingCall);
+ Msg.send(mMockRilChannel, RilCtrlCmds.CTRL_CMD_SET_MT_CALL, 0, 0, cmd);
+ // get response
+ Msg resp = Msg.recv(mMockRilChannel);
+ log("Get response status: " + resp.getStatus());
+ assertTrue("The ril is not in a proper state to set MT calls.",
+ resp.getStatus() == RilCtrlCmds.CTRL_STATUS_OK);
+
+ // allow the incoming call alerting for some time
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {}
+
+ // we are playing a trick to assume the current is 1
+ RilCtrlCmds.CtrlHangupConnRemote hangupCmd = new RilCtrlCmds.CtrlHangupConnRemote();
+ hangupCmd.setConnectionId(1);
+ hangupCmd.setCallFailCause(16); // normal hangup
+ Msg.send(mMockRilChannel, RilCtrlCmds.CTRL_CMD_HANGUP_CONN_REMOTE, 0, 0, hangupCmd);
+
+ // get response
+ resp = Msg.recv(mMockRilChannel);
+ log("Get response for hangup connection: " + resp.getStatus());
+ assertTrue("CTRL_CMD_HANGUP_CONN_REMOTE failed",
+ resp.getStatus() == RilCtrlCmds.CTRL_STATUS_OK);
+ }
+
+ /**
+ * Test case 7: test set call transition flag
+ */
+ public void testSetCallTransitionFlag() throws IOException {
+ log("testSetCallTransitionFlag");
+ // Set flag to true:
+ RilCtrlCmds.CtrlSetCallTransitionFlag cmd = new RilCtrlCmds.CtrlSetCallTransitionFlag();
+ cmd.setFlag(true);
+ Msg.send(mMockRilChannel, RilCtrlCmds.CTRL_CMD_SET_CALL_TRANSITION_FLAG, 0, 0, cmd);
+
+ Msg resp = Msg.recv(mMockRilChannel);
+ log("Get response status: " + resp.getStatus());
+ assertTrue("Set call transition flag failed",
+ resp.getStatus() == RilCtrlCmds.CTRL_STATUS_OK);
+
+ // add a dialing call
+ RilCtrlCmds.CtrlReqAddDialingCall cmdDialCall = new RilCtrlCmds.CtrlReqAddDialingCall();
+ String phoneNumber = "5102345678";
+ cmdDialCall.setPhoneNumber(phoneNumber);
+ Msg.send(mMockRilChannel, RilCtrlCmds.CTRL_CMD_ADD_DIALING_CALL, 0, 0, cmdDialCall);
+ resp = Msg.recv(mMockRilChannel);
+ log("Get response status for adding a dialing call: " + resp.getStatus());
+ assertTrue("add dialing call failed",
+ resp.getStatus() == RilCtrlCmds.CTRL_STATUS_OK);
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {}
+
+ // send command to force call state change
+ Msg.send(mMockRilChannel, RilCtrlCmds.CTRL_CMD_SET_CALL_ALERT, 0, 0, null);
+ resp = Msg.recv(mMockRilChannel);
+ log("Get response status: " + resp.getStatus());
+ assertTrue("Set call alert failed",
+ resp.getStatus() == RilCtrlCmds.CTRL_STATUS_OK);
+
+ try {
+ Thread.sleep(2000);
+ } catch (InterruptedException e) {}
+
+ // send command to force call state change
+ Msg.send(mMockRilChannel, RilCtrlCmds.CTRL_CMD_SET_CALL_ACTIVE, 0, 0, null);
+ resp = Msg.recv(mMockRilChannel);
+ log("Get response status: " + resp.getStatus());
+ assertTrue("Set call active failed",
+ resp.getStatus() == RilCtrlCmds.CTRL_STATUS_OK);
+
+ // hangup the active all remotely
+ RilCtrlCmds.CtrlHangupConnRemote hangupCmd = new RilCtrlCmds.CtrlHangupConnRemote();
+ hangupCmd.setConnectionId(1);
+ hangupCmd.setCallFailCause(16); // normal hangup
+ Msg.send(mMockRilChannel, RilCtrlCmds.CTRL_CMD_HANGUP_CONN_REMOTE, 0, 0, hangupCmd);
+ resp = Msg.recv(mMockRilChannel);
+ log("Get response for hangup connection: " + resp.getStatus());
+ assertTrue("CTRL_CMD_HANGUP_CONN_REMOTE failed",
+ resp.getStatus() == RilCtrlCmds.CTRL_STATUS_OK);
+
+ // set the flag to false
+ cmd.setFlag(false);
+ Msg.send(mMockRilChannel, RilCtrlCmds.CTRL_CMD_SET_CALL_TRANSITION_FLAG, 0, 0, cmd);
+ resp = Msg.recv(mMockRilChannel);
+ assertTrue("Set call transition flag failed",
+ resp.getStatus() == RilCtrlCmds.CTRL_STATUS_OK);
+ }
}