예제 #1
0
파일: test_sort.c 프로젝트: Bira/ferret
TestSuite *ts_sort(TestSuite *suite)
{
    Searcher *sea, **searchers;
    Store *store = open_ram_store(), *fs_store;

    search = intern("search");
    string = intern("string");
    integer = intern("integer");
    flt = intern("flt");

    sort_test_setup(store);

    suite = ADD_SUITE(suite);

    tst_run_test(suite, test_sort_field_to_s, NULL);
    tst_run_test(suite, test_sort_to_s, NULL);

    sea = isea_new(ir_open(store));

    tst_run_test(suite, test_sorts, (void *)sea);

    searcher_close(sea);

    do_byte_test = false;

#ifdef POSH_OS_WIN32
    fs_store = open_fs_store(".\\test\\testdir\\store");
#else
    fs_store = open_fs_store("./test/testdir/store");
#endif
    sort_multi_test_setup(store, fs_store);

    searchers = ALLOC_N(Searcher *, 2);

    searchers[0] = isea_new(ir_open(store));
    searchers[1] = isea_new(ir_open(fs_store));

    sea = msea_new(searchers, 2, true);
    tst_run_test(suite, test_sorts, (void *)sea);
    searcher_close(sea);

    store_deref(store);
    store_deref(fs_store);

    return suite;
}
예제 #2
0
파일: ind.c 프로젝트: dustin/ferret
void index_destroy(Index *self)
{
    mutex_destroy(&self->mutex);
    INDEX_CLOSE_READER(self);
    if (self->iw) iw_close(self->iw);
    store_deref(self->store);
    a_deref(self->analyzer);
    if (self->qp) qp_destroy(self->qp);
    if (self->key) hs_destroy(self->key);
    free(self);
}
예제 #3
0
TestSuite *ts_1710(TestSuite *suite)
{
    Store *store = open_ram_store();

    suite = ADD_SUITE(suite);

    tst_run_test(suite, test_problem_text, store);

    store_deref(store);

    return suite;
}
예제 #4
0
파일: ram_store.c 프로젝트: Bira/ferret
Store *open_ram_store_and_copy(Store *from_store, bool close_dir)
{
    Store *store = open_ram_store();
    struct CopyFileArg cfa;
    cfa.to_store = store;
    cfa.from_store = from_store;

    from_store->each(from_store, &copy_files, &cfa);

    if (close_dir) {
        store_deref(from_store);
    }

    return store;
}
예제 #5
0
파일: test_filter.c 프로젝트: Bira/ferret
TestSuite *ts_filter(TestSuite *suite)
{
    Store *store;
    IndexReader *ir;
    Searcher *searcher;

    suite = ADD_SUITE(suite);

    store = open_ram_store();
    prepare_filter_index(store);
    ir = ir_open(store);
    searcher = isea_new(ir);

    tst_run_test(suite, test_range_filter, (void *)searcher);
    tst_run_test(suite, test_range_filter_hash, NULL);
    tst_run_test(suite, test_query_filter, (void *)searcher);
    tst_run_test(suite, test_query_filter_hash, NULL);
    tst_run_test(suite, test_filter_func, searcher);
    tst_run_test(suite, test_score_altering_filter_func, searcher);

    store_deref(store);
    searcher->close(searcher);
    return suite;
}