X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Ftests%2Fapiset%2Ftest-apiset.c;h=96fbf4b5fe1f03c5ec88eb987ec4b01043b46f92;hb=a2cf84ecde926adeebf09bc2c284401513d3fab3;hp=ccab4637c72779078908a97b6343e6167eaf188a;hpb=bebb8fa967f3b71b609119b293d2869d56036586;p=src%2Fapp-framework-binder.git diff --git a/src/tests/apiset/test-apiset.c b/src/tests/apiset/test-apiset.c index ccab4637..96fbf4b5 100644 --- a/src/tests/apiset/test-apiset.c +++ b/src/tests/apiset/test-apiset.c @@ -58,7 +58,9 @@ const char *extras[] = { struct afb_api_itf api_itf_null = { .call = NULL, .service_start = NULL, +#if WITH_AFB_HOOK .update_hooks = NULL, +#endif .get_logmask = NULL, .set_logmask = NULL, .describe = NULL, @@ -395,7 +397,9 @@ int set_cb_start(void *closure) struct afb_api_itf set_api_itf = { .call = NULL, .service_start = set_cb_start, +#if WITH_AFB_HOOK .update_hooks = set_cb0, +#endif .get_logmask = set_cb_getmask, .set_logmask = set_cb_setmask, .describe = NULL, @@ -426,7 +430,9 @@ START_TEST (check_settings) ck_assert_int_eq(nn, set_count); set_count = 0; +#if WITH_AFB_HOOK afb_apiset_update_hooks(a, NULL); +#endif ck_assert_int_eq(nn, set_count); for (mask = 1 ; !(mask >> 10) ; mask <<= 1) { @@ -505,7 +511,9 @@ int clacb_start(void *closure) struct afb_api_itf clitf = { .call = NULL, .service_start = clacb_start, +#if WITH_AFB_HOOK .update_hooks = NULL, +#endif .get_logmask = NULL, .set_logmask = NULL, .describe = NULL, @@ -549,6 +557,49 @@ END_TEST /*********************************************************************/ +START_TEST (check_subset) +{ + int rc; + struct afb_apiset *a, *b, *c, *d; + + a = afb_apiset_create_subset_first(NULL, "a", 0); + ck_assert_ptr_nonnull(a); + ck_assert_str_eq("a", afb_apiset_name(a)); + ck_assert_ptr_null(afb_apiset_subset_get(a)); + + b = afb_apiset_create_subset_first(a, "b", 0); + ck_assert_ptr_nonnull(b); + ck_assert_str_eq("b", afb_apiset_name(b)); + ck_assert_ptr_eq(b, afb_apiset_subset_get(a)); + ck_assert_ptr_null(afb_apiset_subset_get(b)); + + c = afb_apiset_create_subset_first(a, "c", 0); + ck_assert_ptr_nonnull(c); + ck_assert_str_eq("c", afb_apiset_name(c)); + ck_assert_ptr_eq(c, afb_apiset_subset_get(a)); + ck_assert_ptr_eq(b, afb_apiset_subset_get(c)); + ck_assert_ptr_null(afb_apiset_subset_get(b)); + + d = afb_apiset_create_subset_last(a, "d", 0); + ck_assert_ptr_nonnull(d); + ck_assert_str_eq("d", afb_apiset_name(d)); + ck_assert_ptr_eq(c, afb_apiset_subset_get(a)); + ck_assert_ptr_eq(b, afb_apiset_subset_get(c)); + ck_assert_ptr_eq(d, afb_apiset_subset_get(b)); + ck_assert_ptr_null(afb_apiset_subset_get(d)); + + rc = afb_apiset_subset_set(a, b); + ck_assert(rc == 0); + ck_assert_ptr_eq(b, afb_apiset_subset_get(a)); + ck_assert_ptr_eq(d, afb_apiset_subset_get(b)); + ck_assert_ptr_null(afb_apiset_subset_get(d)); + + afb_apiset_unref(a); +} +END_TEST + +/*********************************************************************/ + static Suite *suite; static TCase *tcase; @@ -575,5 +626,6 @@ int main(int ac, char **av) addtest(check_onlack); addtest(check_settings); addtest(check_classes); + addtest(check_subset); return !!srun(); }