Пример #1
0
    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);
    }
Пример #2
0
    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);
    }