PyObject * advisorylist_to_pylist(const HyAdvisoryList advisorylist, PyObject *sack) { HyAdvisory cadvisory; PyObject *advisory; PyObject *list = PyList_New(0); if (list == NULL) return NULL; const int count = hy_advisorylist_count(advisorylist); for (int i = 0; i < count; ++i) { cadvisory = hy_advisorylist_get_clone(advisorylist, i); advisory = advisoryToPyObject(cadvisory, sack); if (advisory == NULL) goto fail; int rc = PyList_Append(list, advisory); Py_DECREF(advisory); if (rc == -1) goto fail; } return list; fail: Py_DECREF(list); return NULL; }
END_TEST START_TEST(test_get_advisories_none) { HyAdvisoryList advisories; HySack sack = test_globals.sack; HyPackage pkg = by_name(sack, "mystery-devel"); advisories = hy_package_get_advisories(pkg, HY_GT|HY_EQ); fail_unless(advisories != NULL); ck_assert_int_eq(hy_advisorylist_count(advisories), 0); hy_advisorylist_free(advisories); advisories = hy_package_get_advisories(pkg, HY_LT|HY_EQ); fail_unless(advisories != NULL); ck_assert_int_eq(hy_advisorylist_count(advisories), 0); hy_advisorylist_free(advisories); hy_package_free(pkg); }
END_TEST START_TEST(test_get_advisories) { HyAdvisoryList advisories; HyAdvisory advisory; HySack sack = test_globals.sack; HyPackage pkg = by_name(sack, "tour"); advisories = hy_package_get_advisories(pkg, HY_GT); fail_unless(advisories != NULL); ck_assert_int_eq(hy_advisorylist_count(advisories), 1); advisory = hy_advisorylist_get_clone(advisories, 0); ck_assert_str_eq(hy_advisory_get_id(advisory), "FEDORA-2008-9969"); hy_advisory_free(advisory); hy_advisorylist_free(advisories); hy_package_free(pkg); }