static void checkInterfaceVersion(dyn_interface_type* dynIntf, const char* v) { int status; char *version = NULL; status = dynInterface_getVersionString(dynIntf, &version); CHECK_EQUAL(0, status); STRCMP_EQUAL(v, version); version_pt msgVersion = NULL, localMsgVersion = NULL; int cmpVersion = -1; version_createVersionFromString(version, &localMsgVersion); status = dynInterface_getVersion(dynIntf, &msgVersion); CHECK_EQUAL(0, status); version_compareTo(msgVersion, localMsgVersion, &cmpVersion); CHECK_EQUAL(cmpVersion, 0); version_destroy(localMsgVersion); }
static void test1(void) { int status = 0; dyn_interface_type *dynIntf = NULL; FILE *desc = fopen("descriptors/example1.descriptor", "r"); assert(desc != NULL); status = dynInterface_parse(desc, &dynIntf); CHECK_EQUAL(0, status); fclose(desc); char *name = NULL; status = dynInterface_getName(dynIntf, &name); CHECK_EQUAL(0, status); STRCMP_EQUAL("calculator", name); char *version = NULL; status = dynInterface_getVersion(dynIntf, &version); CHECK_EQUAL(0, status); STRCMP_EQUAL("1.0.0", version); char *annVal = NULL; status = dynInterface_getAnnotationEntry(dynIntf, "classname", &annVal); CHECK_EQUAL(0, status); STRCMP_EQUAL("org.example.Calculator", annVal); char *nonExist = NULL; status = dynInterface_getHeaderEntry(dynIntf, "nonExisting", &nonExist); CHECK(status != 0); CHECK(nonExist == NULL); struct methods_head *list = NULL; status = dynInterface_methods(dynIntf, &list); CHECK(status == 0); CHECK(list != NULL); int count = dynInterface_nrOfMethods(dynIntf); CHECK_EQUAL(4, count); dynInterface_destroy(dynIntf); }