6 static int test(const char *path
, bool alloc_name
, bool alloc_ext
,
7 bool kmod
, bool comp
, const char *name
, const char *ext
)
11 memset(&m
, 0x0, sizeof(m
));
13 TEST_ASSERT_VAL("kmod_path__parse",
14 !__kmod_path__parse(&m
, path
, alloc_name
, alloc_ext
));
16 pr_debug("%s - alloc name %d, alloc ext %d, kmod %d, comp %d, name '%s', ext '%s'\n",
17 path
, alloc_name
, alloc_ext
, m
.kmod
, m
.comp
, m
.name
, m
.ext
);
19 TEST_ASSERT_VAL("wrong kmod", m
.kmod
== kmod
);
20 TEST_ASSERT_VAL("wrong comp", m
.comp
== comp
);
23 TEST_ASSERT_VAL("wrong ext", m
.ext
&& !strcmp(ext
, m
.ext
));
25 TEST_ASSERT_VAL("wrong ext", !m
.ext
);
28 TEST_ASSERT_VAL("wrong name", m
.name
&& !strcmp(name
, m
.name
));
30 TEST_ASSERT_VAL("wrong name", !m
.name
);
37 #define T(path, an, ae, k, c, n, e) \
38 TEST_ASSERT_VAL("failed", !test(path, an, ae, k, c, n, e))
40 int test__kmod_path__parse(void)
42 /* path alloc_name alloc_ext kmod comp name ext */
43 T("/xxxx/xxxx/x-x.ko", true , true , true, false, "[x_x]", NULL
);
44 T("/xxxx/xxxx/x-x.ko", false , true , true, false, NULL
, NULL
);
45 T("/xxxx/xxxx/x-x.ko", true , false , true, false, "[x_x]", NULL
);
46 T("/xxxx/xxxx/x-x.ko", false , false , true, false, NULL
, NULL
);
48 /* path alloc_name alloc_ext kmod comp name ext */
49 T("/xxxx/xxxx/x.ko.gz", true , true , true, true, "[x]", "gz");
50 T("/xxxx/xxxx/x.ko.gz", false , true , true, true, NULL
, "gz");
51 T("/xxxx/xxxx/x.ko.gz", true , false , true, true, "[x]", NULL
);
52 T("/xxxx/xxxx/x.ko.gz", false , false , true, true, NULL
, NULL
);
54 /* path alloc_name alloc_ext kmod comp name ext */
55 T("/xxxx/xxxx/x.gz", true , true , false, true, "x.gz" ,"gz");
56 T("/xxxx/xxxx/x.gz", false , true , false, true, NULL
,"gz");
57 T("/xxxx/xxxx/x.gz", true , false , false, true, "x.gz" , NULL
);
58 T("/xxxx/xxxx/x.gz", false , false , false, true, NULL
, NULL
);
60 /* path alloc_name alloc_ext kmod comp name ext */
61 T("x.gz", true , true , false, true, "x.gz", "gz");
62 T("x.gz", false , true , false, true, NULL
, "gz");
63 T("x.gz", true , false , false, true, "x.gz", NULL
);
64 T("x.gz", false , false , false, true, NULL
, NULL
);
66 /* path alloc_name alloc_ext kmod comp name ext */
67 T("x.ko.gz", true , true , true, true, "[x]", "gz");
68 T("x.ko.gz", false , true , true, true, NULL
, "gz");
69 T("x.ko.gz", true , false , true, true, "[x]", NULL
);
70 T("x.ko.gz", false , false , true, true, NULL
, NULL
);