blob: d40a7eca2fb6d5655bca7898adb65916ee9c1c0c [file] [log] [blame]
Oliver Smith871713b2018-12-10 17:10:36 +01001#include <assert.h>
2#include <lime/LimeSuite.h>
3#include <string>
4
5extern "C"
6{
7size_t osmo_strlcpy(char *dst, const char *src, size_t siz);
8}
9
10int info_list_find(lms_info_str_t* info_list, unsigned int count, const std::string &args);
11
12using namespace std;
13
14int main(void)
15{
16 unsigned int count;
17 lms_info_str_t* info_list;
18 std::string args;
19
20 /* two fake entries for info_list */
21 count = 2;
22 info_list = new lms_info_str_t[count];
23 osmo_strlcpy(info_list[0], "LimeSDR Mini, addr=24607:1337, serial=FAKESERIAL0001", sizeof(lms_info_str_t));
24 osmo_strlcpy(info_list[1], "LimeSDR Mini, addr=24607:1338, serial=FAKESERIAL0002", sizeof(lms_info_str_t));
25
26 /* find second entry by args filter */
27 args = "serial=FAKESERIAL0002,LimeSDR Mini";
28 assert(info_list_find(info_list, count, args) == 1);
29
30 /* empty args -> first entry */
31 args = "";
32 assert(info_list_find(info_list, count, args) == 0);
33
34 /* not matching args -> -1 */
35 args = "serial=NOTMATCHING";
36 assert(info_list_find(info_list, count, args) == -1);
37
38 /* clean up */
39 delete[] info_list;
40 return 0;
41}