Esempio n. 1
0
END_TEST

START_TEST(test_hif_sack_knows_version)
{
    HifSack *sack = test_globals.sack;
    fail_unless(hif_sack_knows(sack, "penny", "4", HY_NAME_ONLY));
    fail_if(hif_sack_knows(sack, "penny", "5", HY_NAME_ONLY));
}
Esempio n. 2
0
END_TEST

START_TEST(test_hif_sack_knows_glob)
{
    HifSack *sack = test_globals.sack;
    fail_if(hif_sack_knows(sack, "penny-l*", "4", HY_NAME_ONLY));
    fail_unless(hif_sack_knows(sack, "penny-l*", "4", HY_NAME_ONLY|HY_GLOB));
    fail_if(hif_sack_knows(sack, "penny-l*1", "4", HY_NAME_ONLY|HY_GLOB));
}
Esempio n. 3
0
END_TEST

START_TEST(test_hif_sack_knows)
{
    HifSack *sack = test_globals.sack;

    fail_if(hif_sack_knows(sack, "penny-lib-DEVEL", NULL, 0));
    fail_unless(hif_sack_knows(sack, "penny-lib-DEVEL", NULL, HY_ICASE|HY_NAME_ONLY));

    fail_if(hif_sack_knows(sack, "P", NULL, HY_NAME_ONLY));
    fail_unless(hif_sack_knows(sack, "P", NULL, 0));
}
Esempio n. 4
0
static inline int
is_real_name(HyNevra nevra, HifSack *sack, int flags)
{
    flags |= HY_NAME_ONLY;
    int glob_version = (flags & HY_GLOB) && is_glob_pattern(nevra->version);
    char *version = nevra->version;
    if (nevra->name == NULL && !glob_version)
        return 1;
    if (glob_version)
        version = NULL;
    if (!is_glob_pattern(nevra->name))
        flags &= ~HY_GLOB;
    if (hif_sack_knows(sack, nevra->name, version, flags) == 0)
        return 0;
    return 1;
}
Esempio n. 5
0
int hy_possibilities_next_reldep(HyPossibilities iter, HyReldep *out_reldep)
{
    if (iter->type != TYPE_RELDEP_NEW)
        return -1;
    iter->type = TYPE_RELDEP_END;
    char *name, *evr = NULL;
    int cmp_type = 0;
    if (parse_reldep_str(iter->subject, &name, &evr, &cmp_type) == -1)
        return -1;
    if (hif_sack_knows(iter->sack, name, NULL, iter->flags)) {
        *out_reldep = hy_reldep_create(iter->sack, name, cmp_type, evr);
        g_free(name);
        g_free(evr);
        if (*out_reldep == NULL)
            return -1;
        return 0;
    }
    return -1;
}
Esempio n. 6
0
static PyObject *
_knows(_SackObject *self, PyObject *args, PyObject *kwds)
{
    const char *name;
    const char *version = NULL;
    int name_only = 0, icase = 0, glob = 0;

    const char *kwlist[] = {"name", "version", "name_only", "icase", "glob",
                      NULL};
    if (!PyArg_ParseTupleAndKeywords(args, kwds, "s|ziii", (char**) kwlist,
                                     &name, &version, &name_only, &icase, &glob))
        return NULL;

    int flags = 0;
    if (name_only)
        flags |= HY_NAME_ONLY;
    if (icase)
        flags |= HY_ICASE;
    if (glob)
        flags |= HY_GLOB;
    return PyLong_FromLong(hif_sack_knows(self->sack, name, version, flags));
}