diff options
Diffstat (limited to 'libqcdm/tests')
-rw-r--r-- | libqcdm/tests/test-qcdm-com.c | 60 | ||||
-rw-r--r-- | libqcdm/tests/test-qcdm-com.h | 2 | ||||
-rw-r--r-- | libqcdm/tests/test-qcdm.c | 1 |
3 files changed, 63 insertions, 0 deletions
diff --git a/libqcdm/tests/test-qcdm-com.c b/libqcdm/tests/test-qcdm-com.c index 2161904e..369e7d4e 100644 --- a/libqcdm/tests/test-qcdm-com.c +++ b/libqcdm/tests/test-qcdm-com.c @@ -1702,6 +1702,66 @@ test_com_nw_subsys_modem_snapshot_cdma (void *f, void *data) } void +test_com_nw_subsys_eri (void *f, void *data) +{ + TestComData *d = data; + gboolean success; + int err = QCDM_SUCCESS; + char buf[200]; + gint len; + QcdmResult *result; + gsize reply_len; + guint8 num8 = 0; + const char *str = NULL; + + len = qcdm_cmd_nw_subsys_eri_new (buf, sizeof (buf), QCDM_NW_CHIPSET_6800); + g_assert_cmpint (len, ==, 7); + + /* Send the command */ + success = send_command (d, buf, len); + g_assert (success); + + /* Get a response */ + reply_len = wait_reply (d, buf, sizeof (buf)); + + g_print ("\n"); + + /* Parse the response into a result structure */ + result = qcdm_cmd_nw_subsys_eri_result (buf, reply_len, &err); + if (!result) { + /* Obviously not all devices implement this command */ + if ( err == -QCDM_ERROR_RESPONSE_BAD_COMMAND + || err == -QCDM_ERROR_RESPONSE_BAD_LENGTH) + return; + g_assert_cmpint (err, ==, QCDM_SUCCESS); + } + g_assert (result); + + qcdm_result_get_u8 (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_ROAM, &num8); + g_message ("%s: Roam: %d", __func__, num8); + + qcdm_result_get_u8 (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_INDICATOR_ID, &num8); + g_message ("%s: Indicator ID: %d", __func__, num8); + + qcdm_result_get_u8 (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_ICON_ID, &num8); + g_message ("%s: Icon ID: %d", __func__, num8); + + qcdm_result_get_u8 (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_ICON_MODE, &num8); + g_message ("%s: Icon Mode: %d", __func__, num8); + + qcdm_result_get_u8 (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_CALL_PROMPT_ID, &num8); + g_message ("%s: Call Prompt ID: %d", __func__, num8); + + qcdm_result_get_u8 (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_ALERT_ID, &num8); + g_message ("%s: Alert ID: %d", __func__, num8); + + qcdm_result_get_string (result, QCDM_CMD_NW_SUBSYS_ERI_ITEM_TEXT, &str); + g_message ("%s: Banner: '%s'", __func__, str); + + qcdm_result_unref (result); +} + +void test_com_wcdma_subsys_state_info (void *f, void *data) { TestComData *d = data; diff --git a/libqcdm/tests/test-qcdm-com.h b/libqcdm/tests/test-qcdm-com.h index 2bb3f1f8..341d44e1 100644 --- a/libqcdm/tests/test-qcdm-com.h +++ b/libqcdm/tests/test-qcdm-com.h @@ -59,6 +59,8 @@ void test_com_zte_subsys_status (void *f, void *data); void test_com_nw_subsys_modem_snapshot_cdma (void *f, void *data); +void test_com_nw_subsys_eri (void *f, void *data); + void test_com_wcdma_subsys_state_info (void *f, void *data); void test_com_gsm_subsys_state_info (void *f, void *data); diff --git a/libqcdm/tests/test-qcdm.c b/libqcdm/tests/test-qcdm.c index 0cf977b3..35520c03 100644 --- a/libqcdm/tests/test-qcdm.c +++ b/libqcdm/tests/test-qcdm.c @@ -116,6 +116,7 @@ int main (int argc, char **argv) g_test_suite_add (suite, TESTCASE (test_com_log_config, data->com_data)); g_test_suite_add (suite, TESTCASE (test_com_zte_subsys_status, data->com_data)); g_test_suite_add (suite, TESTCASE (test_com_nw_subsys_modem_snapshot_cdma, data->com_data)); + g_test_suite_add (suite, TESTCASE (test_com_nw_subsys_eri, data->com_data)); g_test_suite_add (suite, TESTCASE (test_com_wcdma_subsys_state_info, data->com_data)); g_test_suite_add (suite, TESTCASE (test_com_gsm_subsys_state_info, data->com_data)); } |