diff options
author | Andrei Emeltchenko <andrei.emeltchenko@intel.com> | 2014-02-04 15:47:38 +0200 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2014-02-05 13:19:15 +0200 |
commit | 29cf8fd83c77824b138202ee5a64f54ae82351dc (patch) | |
tree | b65f17fe94c94584e7715c8ed1baa389146e55fe /unit/test-avctp.c | |
parent | 286216b9a88e3e0c245039efe56a2bd5c4b69f4b (diff) | |
download | bluez-29cf8fd83c77824b138202ee5a64f54ae82351dc.tar.gz |
unit/avctp: Add TP/NFR/BV-04-C test
Add test TP/NFR/BV-04-C for AVCTP.
Diffstat (limited to 'unit/test-avctp.c')
-rw-r--r-- | unit/test-avctp.c | 40 |
1 files changed, 31 insertions, 9 deletions
diff --git a/unit/test-avctp.c b/unit/test-avctp.c index 6d7e34a4d..581f88c11 100644 --- a/unit/test-avctp.c +++ b/unit/test-avctp.c @@ -240,15 +240,6 @@ static void execute_context(struct context *context) destroy_context(context); } -static void test_client(gconstpointer data) -{ - struct context *context = create_context(0x0100, data); - - avctp_send_vendordep_req(context->session, 0, 0, NULL, 0, NULL, NULL); - - execute_context(context); -} - static size_t handler(struct avctp *session, uint8_t transaction, uint8_t *code, uint8_t *subunit, uint8_t *operands, @@ -265,6 +256,33 @@ static size_t handler(struct avctp *session, return operand_count; } +static gboolean handler_response(struct avctp *session, + uint8_t code, uint8_t subunit, + uint8_t *operands, size_t operand_count, + void *user_data) +{ + struct context *context = user_data; + + DBG("code 0x%02x subunit %d operand_count %zu", code, subunit, + operand_count); + + g_assert_cmpint(code, ==, 0x0a); + g_assert_cmpint(subunit, ==, 0); + g_assert_cmpint(operand_count, ==, 0); + + return context_quit(context); +} + +static void test_client(gconstpointer data) +{ + struct context *context = create_context(0x0100, data); + + avctp_send_vendordep_req(context->session, 0, 0, NULL, 0, + handler_response, context); + + execute_context(context); +} + static void test_server(gconstpointer data) { struct context *context = create_context(0x0100, data); @@ -322,6 +340,10 @@ int main(int argc, char *argv[]) raw_pdu(0x00, 0x11, 0x0e, 0x00, 0x00, 0x00), raw_pdu(0x02, 0x11, 0x0e, 0x00, 0x00, 0x00)); + define_test("/TP/NFR/BV-04-C", test_client, + raw_pdu(0x00, 0x11, 0x0e, 0x00, 0x00, 0x00), + raw_pdu(0x02, 0x11, 0x0e, 0x0a, 0x00, 0x00)); + define_test("/TP/NFR/BI-01-C", test_server, raw_pdu(0x00, 0xff, 0xff, 0x00, 0x00, 0x00), raw_pdu(0x03, 0xff, 0xff)); |