Skip to content

Commit

Permalink
test-uhid: Test bt_uhid functions
Browse files Browse the repository at this point in the history
This tests bt_uhid_create, bt_uhid_input and bt_uhid_destroy instead of
directly submitting UHID_CREATE, UHID_INPUT and UHID_DESTROY.
  • Loading branch information
Vudentz committed Mar 11, 2024
1 parent c0c9e46 commit f5fecf0
Showing 1 changed file with 24 additions and 11 deletions.
35 changes: 24 additions & 11 deletions unit/test-uhid.c
Expand Up @@ -117,8 +117,8 @@ static gboolean send_pdu(gpointer user_data)

len = write(context->fd, pdu->data, pdu->size);


util_hexdump('<', pdu->data, len, test_debug, "uHID: ");
if (tester_use_debug())
util_hexdump('<', pdu->data, len, test_debug, "uHID: ");

g_assert_cmpint(len, ==, pdu->size);

Expand Down Expand Up @@ -159,7 +159,8 @@ static gboolean test_handler(GIOChannel *channel, GIOCondition cond,

g_assert(len > 0);

util_hexdump('>', buf, len, test_debug, "uHID: ");
if (tester_use_debug())
util_hexdump('>', buf, len, test_debug, "uHID: ");

g_assert_cmpint(len, ==, pdu->size);

Expand Down Expand Up @@ -228,19 +229,31 @@ static const struct uhid_event ev_feature = {
static void test_client(gconstpointer data)
{
struct context *context = create_context(data);
int err;

if (g_str_equal(context->data->test_name, "/uhid/command/create"))
bt_uhid_send(context->uhid, &ev_create);
err = bt_uhid_create(context->uhid, "", NULL, NULL, 0, 0, 0, 0, NULL,
0);
if (err < 0)
tester_test_failed();

if (g_str_equal(context->data->test_name, "/uhid/command/destroy"))
bt_uhid_send(context->uhid, &ev_destroy);
if (g_str_equal(context->data->test_name, "/uhid/command/destroy")) {
err = bt_uhid_destroy(context->uhid);
if (err < 0)
tester_test_failed();
}

if (g_str_equal(context->data->test_name,
"/uhid/command/feature_answer"))
bt_uhid_send(context->uhid, &ev_feature_answer);
"/uhid/command/feature_answer")) {
err = bt_uhid_send(context->uhid, &ev_feature_answer);
if (err < 0)
tester_test_failed();
}

if (g_str_equal(context->data->test_name, "/uhid/command/input"))
bt_uhid_send(context->uhid, &ev_input);
if (g_str_equal(context->data->test_name, "/uhid/command/input")) {
err = bt_uhid_input(context->uhid, 0, NULL, 0);
if (err < 0)
tester_test_failed();
}

context_quit(context);
}
Expand Down

0 comments on commit f5fecf0

Please sign in to comment.