X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=drm-lease-manager%2Ftest%2Flease-config-test.c;fp=drm-lease-manager%2Ftest%2Flease-config-test.c;h=0dc171f2c68083f60b77acf4ed95ad370b061823;hb=53f4fe700dee88cc9840a91f2f297aacf05e08d4;hp=65bd32aefcd9ac4dc1b1f9ac9e793a6002b4780f;hpb=5c27165cdcfb28c8b2eccc139802fa0dd6403776;p=src%2Fdrm-lease-manager.git diff --git a/drm-lease-manager/test/lease-config-test.c b/drm-lease-manager/test/lease-config-test.c index 65bd32a..0dc171f 100644 --- a/drm-lease-manager/test/lease-config-test.c +++ b/drm-lease-manager/test/lease-config-test.c @@ -74,6 +74,43 @@ START_TEST(parse_leases) } END_TEST +START_TEST(connector_config) +{ + ck_assert_ptr_ne(config_file, NULL); + + char test_data[] = "[[lease]]\n" + "name = \"lease 1\"\n" + "connectors = [\"1\", \"b\",\"gamma\" ]\n" + "[b]\n" + "optional = true\n" + "planes = [1, 4, 3]\n"; + + write(config_fd, test_data, sizeof(test_data)); + + struct lease_config *config = NULL; + int nconfigs = parse_config(config_file, &config); + + ck_assert_int_eq(nconfigs, 1); + ck_assert_ptr_ne(config, NULL); + + ck_assert_str_eq(config[0].lease_name, "lease 1"); + ck_assert_int_eq(config[0].nconnectors, 3); + ck_assert_str_eq(config[0].connectors[0].name, "1"); + ck_assert_str_eq(config[0].connectors[1].name, "b"); + ck_assert_str_eq(config[0].connectors[2].name, "gamma"); + + ck_assert(!config[0].connectors[0].optional); + ck_assert(config[0].connectors[1].optional); + ck_assert(!config[0].connectors[2].optional); + + ck_assert_int_eq(config[0].connectors[1].nplanes, 3); + ck_assert_int_eq(config[0].connectors[1].planes[0], 1); + ck_assert_int_eq(config[0].connectors[1].planes[1], 4); + ck_assert_int_eq(config[0].connectors[1].planes[2], 3); + + release_config(nconfigs, config); +} +END_TEST static void add_parse_tests(Suite *s) { TCase *tc = tcase_create("Config file parsing tests"); @@ -81,6 +118,7 @@ static void add_parse_tests(Suite *s) tcase_add_checked_fixture(tc, test_setup, test_shutdown); tcase_add_test(tc, parse_leases); + tcase_add_test(tc, connector_config); suite_add_tcase(s, tc); }