Example #1
0
TEST_F(MgrTest, object_from_addr_basic) {
    CPE_HS_DEF_VAR(className, "class1");
    addClass("class1", 20);

    gd_om_oid_t oid = obj_alloc(className);
    EXPECT_TRUE(oid != GD_OM_INVALID_OID);

    void * objData = gd_om_obj_get(m_omm, oid, t_em());
    ASSERT_TRUE(objData);

    EXPECT_EQ(oid, gd_om_obj_id_from_addr(m_omm, objData, t_em()));
}
Example #2
0
TEST_F(MgrTest, object_alloc_basic) {
    CPE_HS_DEF_VAR(className, "class1");
    addClass("class1", 20);

    gd_om_oid_t oid = obj_alloc(className);
    EXPECT_TRUE(oid != GD_OM_INVALID_OID);

    void * objData = gd_om_obj_get(m_omm, oid, t_em());
    ASSERT_TRUE(objData);

    gd_om_class_t cls = gd_om_obj_class(m_omm, oid, t_em());
    ASSERT_TRUE(cls);

    EXPECT_STREQ("class1", gd_om_class_name(cls));
}
Example #3
0
int ReadTest::read(const char * decodeTypeName, const void * data, size_t data_size) {
    LPDRMETA meta = dr_lib_find_meta_by_name(m_metaLib, decodeTypeName);
    EXPECT_TRUE(meta) << "get meta " << decodeTypeName << " error!";

    t_elist_clear();

    char buf[1024];
    int len = dr_pbuf_write(buf, sizeof(buf), data, data_size, meta, t_em());
    EXPECT_GT(len, 0);

    int r = dr_pbuf_read(m_result_buffer, sizeof(m_result_buffer), buf, len, meta, t_em());
    m_result_bufffer_len = r;
    m_result_meta = meta;
    return r;
}
Example #4
0
void
SearchDirTest::do_search(int maxLevel) {
    struct dir_visitor visitor;
    visitor.on_dir_enter = on_dir_enter;
    visitor.on_dir_leave = on_dir_leave;
    visitor.on_file = on_file;
    dir_search(&visitor, this, t_dir_base(), maxLevel, t_em(), t_allocrator());
}
Example #5
0
TEST_F(MgrTest, object_size) {
    CPE_HS_DEF_VAR(className, "class1");
    addClass("class1", 20);

    gd_om_oid_t oid1 = obj_alloc(className);
    EXPECT_TRUE(oid1 != GD_OM_INVALID_OID);
    void * objData1 = gd_om_obj_get(m_omm, oid1, t_em());
    ASSERT_TRUE(objData1);

    gd_om_oid_t oid2 = obj_alloc(className);
    EXPECT_TRUE(oid2 != GD_OM_INVALID_OID);

    void * objData2 = gd_om_obj_get(m_omm, oid2, t_em());
    ASSERT_TRUE(objData2);

    EXPECT_EQ(1, (int)(oid2 - oid1));
    EXPECT_EQ(20, (int)((char*)objData2 - (char*)objData1));
}
Example #6
0
int MergeTest::merge(const char * input, cfg_policy_t policy) {
    cfg_t inputCfg = cfg_create(t_tmp_allocrator());
    EXPECT_TRUE(inputCfg);

    if (inputCfg) {
        install(inputCfg, input);
    }

    return cfg_merge(m_root, inputCfg, policy, t_em());
}
Example #7
0
int WriteTest::write(const char * typeName, const void * data, size_t data_size) {
    LPDRMETA meta = dr_lib_find_meta_by_name(m_metaLib, typeName);
    EXPECT_TRUE(meta) << "get meta " << typeName << " error!";

    t_elist_clear();

    int r = dr_pbuf_write(m_buffer, sizeof(m_buffer), data, data_size, meta, t_em());
    m_bufffer_len = r >= 0 ? (size_t)r : 0;
    return r;
}
Example #8
0
int ReadTest::read(const char * encodeTypeName, const char * decodeTypeName, const char * defs) {
    LPDRMETA meta = dr_lib_find_meta_by_name(m_metaLib, encodeTypeName);
    EXPECT_TRUE(meta) << "get meta " << encodeTypeName << " error!";

    char buf[1024];

    int r = dr_cfg_read(buf, sizeof(buf), t_cfg_parse(defs), meta, 0, t_em());
    EXPECT_GT(r, 0);

    return read(decodeTypeName, buf, r);
}
Example #9
0
int WriteTest::write(const char * typeName, const char * defs) {
    LPDRMETA meta = dr_lib_find_meta_by_name(m_metaLib, typeName);
    EXPECT_TRUE(meta) << "get meta " << typeName << " error!";

    char buf[1024];

    int r = dr_cfg_read(buf, sizeof(buf), t_cfg_parse(defs), meta, 0, t_em());
    EXPECT_GT(r, 0);

    return write(typeName, buf, r);
}
Example #10
0
void ReadTest::installMeta(const char * def) {
    m_metaLib = NULL;
    mem_buffer_init(&m_metaLib_buffer, NULL);

    EXPECT_EQ(
        0,
        dr_create_lib_from_xml_ex(&m_metaLib_buffer, def, strlen(def), t_em()))
        << "install meta error";

    m_metaLib = (LPDRMETALIB)mem_buffer_make_exactly(&m_metaLib_buffer);
}
Example #11
0
cfg_t ReadTest::result(void) {
    EXPECT_TRUE(m_result_meta) << "result meta not exist";

    cfg_t r = t_cfg_create();

    EXPECT_EQ(
        0,
        dr_cfg_write(
            r,
            m_result_buffer,
            m_result_meta,
            t_em()));

    return r;
}
Example #12
0
int ReadTest::read(const char * data, const char * typeName, int policy, size_t capacity) {
    LPDRMETA meta = dr_lib_find_meta_by_name(m_metaLib, typeName);
    EXPECT_TRUE(meta) << "get meta " << typeName << " error!";
    if (meta == 0) return -1;

    if (capacity == 0) {
        capacity = dr_meta_size(meta);
    }

    cfg_t input = t_cfg_parse(data);
    EXPECT_TRUE(input) << "parse input to cfg fail!";
    if (input == 0) return -1;

    t_elist_clear();
    mem_buffer_clear(&m_buffer);

    return dr_cfg_read(
        mem_buffer_alloc(&m_buffer, capacity),
        capacity,
        input,
        meta,
        policy,
        t_em());
}
Example #13
0
gd_om_oid_t
MgrTest::obj_alloc(cpe_hash_string_t className) {
    return gd_om_obj_alloc(m_omm, className, t_em());
}
Example #14
0
gd_om_class_id_t
MgrTest::addClass(const char * className, size_t object_size) {
    return gd_om_mgr_add_class(m_omm, className, object_size, 4, t_em());
}
Example #15
0
void MergeTest::install(cfg_t cfg, const char * input) {
    struct read_stream_mem stream = CPE_READ_STREAM_MEM_INITIALIZER(input, strlen(input));
    ASSERT_EQ(0, cfg_read(cfg, (read_stream_t)&stream, cfg_replace, t_em()));
}
Example #16
0
int PrintTest::print(const void * data, const char * typeName) {
    LPDRMETA meta = dr_lib_find_meta_by_name(m_metaLib, typeName);
    EXPECT_TRUE(meta) << "get meta " << typeName << " error!";

    t_elist_clear();

    struct write_stream_buffer stream = CPE_WRITE_STREAM_BUFFER_INITIALIZER(&m_buffer);

    int r = dr_json_print((write_stream_t)&stream, data, meta, DR_JSON_PRINT_BEAUTIFY, t_em());
    stream_putc((write_stream_t)&stream, 0);
    return r;
}