X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=tests%2Fcheck_device.c;h=d9594451373c0cd137f5b0ce9b3d3c7bd289a533;hb=5fcc5909cc5f870e581fd367fd7b86b58c58e7c6;hp=e235d3affba8a29046dc7c8d00be7c0ef8be39ca;hpb=6b1adfaa86de2195498a0078b0fb50fd76f5aa38;p=libsigrok.git diff --git a/tests/check_device.c b/tests/check_device.c index e235d3af..d9594451 100644 --- a/tests/check_device.c +++ b/tests/check_device.c @@ -37,6 +37,30 @@ START_TEST(test_user_new) } END_TEST +START_TEST(test_channel_add) +{ + int ret; + struct sr_dev_inst *sdi; + GSList *channels; + + sdi = sr_dev_inst_user_new("Vendor", "Model", "Version"); + fail_unless(sdi != NULL, "sr_dev_inst_user_new() failed."); + + channels = sr_dev_inst_channels_get(sdi); + fail_unless(g_slist_length(channels) == 0, "More than 0 channels."); + + ret = sr_dev_inst_channel_add(sdi, 0, SR_CHANNEL_LOGIC, "D1"); + channels = sr_dev_inst_channels_get(sdi); + fail_unless(ret == SR_OK); + fail_unless(g_slist_length(channels) == 1); + + ret = sr_dev_inst_channel_add(sdi, 1, SR_CHANNEL_ANALOG, "A1"); + channels = sr_dev_inst_channels_get(sdi); + fail_unless(ret == SR_OK); + fail_unless(g_slist_length(channels) == 2); +} +END_TEST + Suite *suite_device(void) { Suite *s; @@ -48,5 +72,9 @@ Suite *suite_device(void) tcase_add_test(tc, test_user_new); suite_add_tcase(s, tc); + tc = tcase_create("sr_dev_inst_channel_add"); + tcase_add_test(tc, test_channel_add); + suite_add_tcase(s, tc); + return s; }