From 24aa8a8a338ebc88857e2988b99972f2191edda9 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sun, 6 Jan 2013 16:19:29 -0800 Subject: [PATCH] unit: Provide static test data and dynamically allocated PDUs --- unit/test-sdp.c | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/unit/test-sdp.c b/unit/test-sdp.c index 4843074cb..ebbc0eccc 100644 --- a/unit/test-sdp.c +++ b/unit/test-sdp.c @@ -49,7 +49,7 @@ struct sdp_pdu { struct test_data { int mtu; - const struct sdp_pdu *pdu_list; + struct sdp_pdu *pdu_list; }; #define x_pdu(args...) (const unsigned char[]) { args } @@ -76,17 +76,29 @@ struct test_data { const struct sdp_pdu pdus[] = { \ args, { }, { } \ }; \ - struct test_data *data; \ - data = g_new0(struct test_data, 1); \ - data->mtu = 48; \ - data->pdu_list = pdus; \ - g_test_add_data_func(name, data, test_sdp); \ + static struct test_data data; \ + data.mtu = 48; \ + data.pdu_list = g_malloc(sizeof(pdus)); \ + memcpy(data.pdu_list, pdus, sizeof(pdus)); \ + g_test_add_data_func(name, &data, test_sdp); \ } while (0) #define define_ss(name, args...) define_test("/TP/SERVER/SS/" name, args) #define define_sa(name, args...) define_test("/TP/SERVER/SA/" name, args) #define define_ssa(name, args...) define_test("/TP/SERVER/SSA/" name, args) -#define define_brw(name, args...) + +#define define_brw(name, args...) \ + do { \ + const struct sdp_pdu pdus[] = { \ + args, { }, { } \ + }; \ + static struct test_data data; \ + data.mtu = 672; \ + data.pdu_list = g_malloc(sizeof(pdus)); \ + memcpy(data.pdu_list, pdus, sizeof(pdus)); \ + g_test_add_data_func("/TP/SERVER/BRW/" name, \ + &data, test_sdp); \ + } while (0) struct context { GMainLoop *main_loop; @@ -700,6 +712,8 @@ static void test_sdp(gconstpointer data) g_idle_add(send_pdu, context); execute_context(context); + + g_free(test->pdu_list); } int main(int argc, char *argv[]) -- 2.47.3