]> sigrok.org Git - libsigrok.git/blame - tests/device.c
Build: Include <config.h> first in all source files
[libsigrok.git] / tests / device.c
CommitLineData
6b1adfaa
UH
1/*
2 * This file is part of the libsigrok project.
3 *
4 * Copyright (C) 2014 Uwe Hermann <uwe@hermann-uwe.de>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
6ec6c43b 21#include <config.h>
6b1adfaa
UH
22#include <string.h>
23#include <check.h>
4960aeb0 24#include <libsigrok/libsigrok.h>
6b1adfaa
UH
25#include "lib.h"
26
27START_TEST(test_user_new)
28{
29 struct sr_dev_inst *sdi;
30
31 sdi = sr_dev_inst_user_new("Vendor", "Model", "Version");
32
33 fail_unless(sdi != NULL, "sr_dev_inst_user_new() failed.");
34
35 fail_unless(!strcmp("Vendor", sr_dev_inst_vendor_get(sdi)));
36 fail_unless(!strcmp("Model", sr_dev_inst_model_get(sdi)));
37 fail_unless(!strcmp("Version", sr_dev_inst_version_get(sdi)));
38}
39END_TEST
40
ccd3f5e5
UH
41START_TEST(test_channel_add)
42{
43 int ret;
44 struct sr_dev_inst *sdi;
45 GSList *channels;
46
47 sdi = sr_dev_inst_user_new("Vendor", "Model", "Version");
48 fail_unless(sdi != NULL, "sr_dev_inst_user_new() failed.");
49
50 channels = sr_dev_inst_channels_get(sdi);
51 fail_unless(g_slist_length(channels) == 0, "More than 0 channels.");
52
53 ret = sr_dev_inst_channel_add(sdi, 0, SR_CHANNEL_LOGIC, "D1");
54 channels = sr_dev_inst_channels_get(sdi);
55 fail_unless(ret == SR_OK);
56 fail_unless(g_slist_length(channels) == 1);
57
58 ret = sr_dev_inst_channel_add(sdi, 1, SR_CHANNEL_ANALOG, "A1");
59 channels = sr_dev_inst_channels_get(sdi);
60 fail_unless(ret == SR_OK);
61 fail_unless(g_slist_length(channels) == 2);
62}
63END_TEST
64
6b1adfaa
UH
65Suite *suite_device(void)
66{
67 Suite *s;
68 TCase *tc;
69
70 s = suite_create("device");
71
72 tc = tcase_create("sr_dev_inst_user_new");
73 tcase_add_test(tc, test_user_new);
47af616f 74 suite_add_tcase(s, tc);
ccd3f5e5
UH
75
76 tc = tcase_create("sr_dev_inst_channel_add");
77 tcase_add_test(tc, test_channel_add);
6b1adfaa
UH
78 suite_add_tcase(s, tc);
79
80 return s;
81}