Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
abi: add more tests for pkg_cleanup_shlibs_required
Baptiste Daroussin committed 1 year ago
commit ce991b8da114ee2c20059c2636218fd5faca2af7
parent 65f3201
1 file changed +25 -0
modified tests/lib/shlibs.c
@@ -9,6 +9,7 @@
#include <tllist.h>

ATF_TC_WITHOUT_HEAD(cleanup_shlibs_required);
+
ATF_TC_WITHOUT_HEAD(cleanup_shlibs_required_multiple_provided);

ATF_TC_BODY(cleanup_shlibs_required, tc)
{
@@ -32,9 +33,33 @@ ATF_TC_BODY(cleanup_shlibs_required, tc)
	ATF_REQUIRE_EQ_MSG(vec_len(&p->shlibs_required), 2, "expecint 2 got %zu", vec_len(&p->shlibs_required));
}

+
ATF_TC_BODY(cleanup_shlibs_required_multiple_provided, tc)
+
{
+
	struct pkg *p;
+
	charv_t internal_provided;
+
	vec_init(&internal_provided);
+

+
	ATF_REQUIRE_EQ(pkg_new(&p, PKG_FILE), EPKG_OK);
+
	ATF_REQUIRE(p != NULL);
+
	vec_push(&p->shlibs_required, xstrdup("lib1.so.1"));
+
	vec_push(&p->shlibs_required, xstrdup("libA.so.2"));
+
	vec_push(&p->shlibs_required, xstrdup("libB.so.2"));
+
	vec_push(&p->shlibs_required, xstrdup("libC.so.2"));
+
	vec_push(&p->shlibs_provided, xstrdup("libA.so.2"));
+
	vec_push(&p->shlibs_provided, xstrdup("libC.so.3"));
+
	vec_push(&p->shlibs_provided, xstrdup("libZ.so.3"));
+
	ATF_REQUIRE_EQ(vec_len(&p->shlibs_required), 4);
+
	pkg_cleanup_shlibs_required(p, &internal_provided);
+
	ATF_REQUIRE_EQ(vec_len(&p->shlibs_required), 3);
+
	ATF_REQUIRE_STREQ(p->shlibs_required.d[0], "lib1.so.1");
+
	ATF_REQUIRE_STREQ(p->shlibs_required.d[1], "libB.so.2");
+
	ATF_REQUIRE_STREQ(p->shlibs_required.d[2], "libC.so.2");
+
}
+

ATF_TP_ADD_TCS(tp)
{
	ATF_TP_ADD_TC(tp, cleanup_shlibs_required);
+
	ATF_TP_ADD_TC(tp, cleanup_shlibs_required_multiple_provided);

	return (atf_no_error());
}