X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=t%2Ffrontend%2Fparser_test.c;h=589553398bd9058ac50fe8d3e342e30a9c8ad00c;hb=c2b8a7fc6f873b42dc9c95179792c033fc8f3630;hp=bebe15efeabaeb1c413db3f2c136f4767f4ff727;hpb=4215d1d8c69367c1d43bed9d39d428a92b329a92;p=sysdb.git diff --git a/t/frontend/parser_test.c b/t/frontend/parser_test.c index bebe15e..5895533 100644 --- a/t/frontend/parser_test.c +++ b/t/frontend/parser_test.c @@ -47,8 +47,8 @@ START_TEST(test_parse) { ";;", 0 }, /* valid commands */ - { "LIST", 0 }, - { "LIST;", 0 }, + { "LIST", 1 }, + { "LIST;", 1 }, /* comments */ { "/* some comment */", 0 }, @@ -60,19 +60,34 @@ START_TEST(test_parse) }; size_t i; - int check; + sdb_llist_t *check; for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_data); ++i) { _Bool ok; check = sdb_fe_parse(golden_data[i].query); if (golden_data[i].expected < 0) - ok = check < 0; + ok = check == 0; else - ok = check == golden_data[i].expected; + ok = sdb_llist_len(check) == (size_t)golden_data[i].expected; - fail_unless(ok, "sdb_fe_parse(%s) = %d; expected: %d", - golden_data[i].query, check, golden_data[i].expected); + fail_unless(ok, "sdb_fe_parse(%s) = %p (len: %zu); expected: %d", + golden_data[i].query, check, sdb_llist_len(check), + golden_data[i].expected); + + if (! check) + continue; + + if ((! strcmp(golden_data[i].query, "LIST")) + || (! strcmp(golden_data[i].query, "LIST;"))) { + sdb_object_t *obj = sdb_llist_get(check, 0); + fail_unless(SDB_CONN_NODE(obj)->cmd == CONNECTION_LIST, + "sdb_fe_parse(LIST)->cmd = %i; expected: %d " + "(CONNECTION_LIST)", SDB_CONN_NODE(obj)->cmd, + CONNECTION_LIST); + } + + sdb_llist_destroy(check); } } END_TEST