From 51c51ffb941e728672baccfd5d2e2ae67674e424 Mon Sep 17 00:00:00 2001 From: Gerhard Sittig Date: Sun, 17 Dec 2017 22:24:10 +0100 Subject: [PATCH] test: add simple "no data" test case for decoder "terminate and reset" Introduce a "reset" group of tests. Whip up a first test step which runs the "terminate and reset" routine for decoder stacks after session creation, start, and meta data setup. No input data gets processed, no decoder output is tested yet. --- tests/session.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/session.c b/tests/session.c index f9e42df..e79496e 100644 --- a/tests/session.c +++ b/tests/session.c @@ -224,6 +224,36 @@ START_TEST(test_session_metadata_set_bogus) } END_TEST +/* + * Check whether srd_session_terminate_reset() succeeds on newly created + * sessions, as well as after calling start() and meta(). No data is fed + * to decoders here. + */ +START_TEST(test_session_reset_nodata) +{ + struct srd_session *sess; + int ret; + GVariant *data; + + srd_init(NULL); + srd_session_new(&sess); + ret = srd_session_terminate_reset(sess); + fail_unless(ret == SRD_OK, "srd_session_terminate_reset() failed: %d.", ret); + ret = srd_session_start(sess); + fail_unless(ret == SRD_OK, "srd_session_start() failed: %d.", ret); + ret = srd_session_terminate_reset(sess); + fail_unless(ret == SRD_OK, "srd_session_terminate_reset() failed: %d.", ret); + data = g_variant_new_uint64(1000000); + ret = srd_session_metadata_set(sess, SRD_CONF_SAMPLERATE, data); + fail_unless(ret == SRD_OK, "srd_session_metadata_set() failed: %d.", ret); + ret = srd_session_terminate_reset(sess); + fail_unless(ret == SRD_OK, "srd_session_terminate_reset() failed: %d.", ret); + ret = srd_session_destroy(sess); + fail_unless(ret == SRD_OK, "srd_session_destroy() failed: %d.", ret); + srd_exit(); +} +END_TEST + Suite *suite_session(void) { Suite *s; @@ -246,5 +276,9 @@ Suite *suite_session(void) tcase_add_test(tc, test_session_metadata_set_bogus); suite_add_tcase(s, tc); + tc = tcase_create("reset"); + tcase_add_test(tc, test_session_reset_nodata); + suite_add_tcase(s, tc); + return s; } -- 2.30.2