diff --git a/unit/test-avdtp.c b/unit/test-avdtp.c
index 615df00..c01e5fb 100644
--- a/unit/test-avdtp.c
+++ b/unit/test-avdtp.c
if (g_str_equal(context->data->test_name, "/TP/SIG/SMG/BV-11-C"))
ret = avdtp_get_configuration(session, stream);
- else if (g_str_equal(context->data->test_name, "/TP/SIG/SMG/BV-15-C"))
- ret = avdtp_open(session, stream);
- else if (g_str_equal(context->data->test_name, "/TP/SIG/SMG/BV-17-C"))
- ret = avdtp_open(session, stream);
else
- g_assert_not_reached();
+ ret = avdtp_open(session, stream);
g_assert_cmpint(ret, ==, 0);
}
g_assert_cmpint(ret, ==, 0);
}
+static void sep_start_cfm(struct avdtp *session, struct avdtp_local_sep *sep,
+ struct avdtp_stream *stream, struct avdtp_error *err,
+ void *user_data)
+{
+ int ret;
+
+ g_assert(err == NULL);
+
+ ret = avdtp_close(session, stream, FALSE);
+
+ g_assert_cmpint(ret, ==, 0);
+}
+
static struct avdtp_sep_cfm sep_cfm = {
.set_configuration = sep_setconf_cfm,
.open = sep_open_cfm,
+ .start = sep_start_cfm,
};
static void test_server(gconstpointer data)
avdtp_unregister_sep(sep);
}
+static void test_close(gconstpointer data)
+{
+ struct context *context = create_context(0x0100, data);
+ struct avdtp_local_sep *sep;
+
+ sep = avdtp_register_sep(AVDTP_SEP_TYPE_SINK, AVDTP_MEDIA_TYPE_AUDIO,
+ 0x00, FALSE, NULL, &sep_cfm,
+ context);
+ context->sep = sep;
+
+ avdtp_discover(context->session, discover_cb, context);
+
+ execute_context(context);
+
+ avdtp_unregister_sep(sep);
+}
+
int main(int argc, char *argv[])
{
g_test_init(&argc, &argv, NULL);
raw_pdu(0x32, 0x06),
raw_pdu(0x40, 0x07, 0x04),
raw_pdu(0x42, 0x07));
+ define_test("/TP/SIG/SMG/BV-19-C", test_close,
+ raw_pdu(0x30, 0x01),
+ raw_pdu(0x32, 0x01, 0x04, 0x00),
+ raw_pdu(0x40, 0x02, 0x04),
+ raw_pdu(0x42, 0x02, 0x01, 0x00, 0x07, 0x06, 0x00, 0x00,
+ 0xff, 0xff, 0x02, 0x40),
+ raw_pdu(0x50, 0x03, 0x04, 0x04, 0x01, 0x00, 0x07, 0x06,
+ 0x00, 0x00, 0x21, 0x02, 0x02, 0x20),
+ raw_pdu(0x52, 0x03),
+ raw_pdu(0x60, 0x06, 0x04),
+ raw_pdu(0x62, 0x06),
+ raw_pdu(0x70, 0x07, 0x04),
+ raw_pdu(0x72, 0x07),
+ raw_pdu(0x80, 0x08, 0x04));
return g_test_run();
}