aboutsummaryrefslogtreecommitdiff
path: root/libqcdm/tests
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2012-07-25 14:06:17 -0500
committerDan Williams <dcbw@redhat.com>2012-11-14 11:11:03 -0600
commitb74741e6420519767bd7551f29dc69f9f31b4c51 (patch)
tree946976354531a06375845650103ffe156f576803 /libqcdm/tests
parent773d0022d0d1756ca8a29ad273bea38916a93499 (diff)
qcdm: get/set functions for hybrid preference
Diffstat (limited to 'libqcdm/tests')
-rw-r--r--libqcdm/tests/test-qcdm-com.c42
-rw-r--r--libqcdm/tests/test-qcdm-com.h2
-rw-r--r--libqcdm/tests/test-qcdm.c1
3 files changed, 45 insertions, 0 deletions
diff --git a/libqcdm/tests/test-qcdm-com.c b/libqcdm/tests/test-qcdm-com.c
index df3633a2..bc299236 100644
--- a/libqcdm/tests/test-qcdm-com.c
+++ b/libqcdm/tests/test-qcdm-com.c
@@ -653,6 +653,48 @@ test_com_read_mode_pref (void *f, void *data)
}
void
+test_com_read_hybrid_pref (void *f, void *data)
+{
+ TestComData *d = data;
+ gboolean success;
+ int err = QCDM_SUCCESS;
+ char buf[512];
+ guint8 pref;
+ gint len;
+ QcdmResult *result;
+ gsize reply_len;
+
+ len = qcdm_cmd_nv_get_hybrid_pref_new (buf, sizeof (buf));
+ g_assert (len > 0);
+
+ /* Send the command */
+ success = send_command (d, buf, len);
+ g_assert (success);
+
+ /* Get a response */
+ reply_len = wait_reply (d, buf, sizeof (buf));
+
+ /* Parse the response into a result structure */
+ result = qcdm_cmd_nv_get_hybrid_pref_result (buf, reply_len, &err);
+ if (!result) {
+ if ( err == -QCDM_ERROR_NVCMD_FAILED
+ || err == -QCDM_ERROR_RESPONSE_BAD_PARAMETER
+ || err == -QCDM_ERROR_NV_ERROR_INACTIVE
+ || err == -QCDM_ERROR_NV_ERROR_BAD_PARAMETER)
+ return;
+ g_assert_cmpint (err, ==, QCDM_SUCCESS);
+ }
+
+ g_print ("\n");
+
+ err = qcdm_result_get_u8 (result, QCDM_CMD_NV_GET_HYBRID_PREF_ITEM_HYBRID_PREF, &pref);
+ g_assert_cmpint (err, ==, QCDM_SUCCESS);
+ g_message ("%s: Hybrid preference: 0x%02X", __func__, pref);
+
+ qcdm_result_unref (result);
+}
+
+void
test_com_read_hdr_rev_pref (void *f, void *data)
{
TestComData *d = data;
diff --git a/libqcdm/tests/test-qcdm-com.h b/libqcdm/tests/test-qcdm-com.h
index 57e00b03..2bb3f1f8 100644
--- a/libqcdm/tests/test-qcdm-com.h
+++ b/libqcdm/tests/test-qcdm-com.h
@@ -33,6 +33,8 @@ void test_com_read_roam_pref (void *f, void *data);
void test_com_read_mode_pref (void *f, void *data);
+void test_com_read_hybrid_pref (void *f, void *data);
+
void test_com_read_hdr_rev_pref (void *f, void *data);
void test_com_status (void *f, void *data);
diff --git a/libqcdm/tests/test-qcdm.c b/libqcdm/tests/test-qcdm.c
index 8d25d824..0cf977b3 100644
--- a/libqcdm/tests/test-qcdm.c
+++ b/libqcdm/tests/test-qcdm.c
@@ -103,6 +103,7 @@ int main (int argc, char **argv)
g_test_suite_add (suite, TESTCASE (test_com_mdn, data->com_data));
g_test_suite_add (suite, TESTCASE (test_com_read_roam_pref, data->com_data));
g_test_suite_add (suite, TESTCASE (test_com_read_mode_pref, data->com_data));
+ g_test_suite_add (suite, TESTCASE (test_com_read_hybrid_pref, data->com_data));
g_test_suite_add (suite, TESTCASE (test_com_read_hdr_rev_pref, data->com_data));
g_test_suite_add (suite, TESTCASE (test_com_status, data->com_data));
g_test_suite_add (suite, TESTCASE (test_com_sw_version, data->com_data));