Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
abi: add test to ensure we don't wrongly skip en entry in the shlibs
Baptiste Daroussin committed 1 year ago
commit d650c741febf5272885aebf3d615a03282faa93a
parent ce991b8
1 file changed +24 -0
modified tests/lib/shlibs.c
@@ -10,6 +10,7 @@

ATF_TC_WITHOUT_HEAD(cleanup_shlibs_required);
ATF_TC_WITHOUT_HEAD(cleanup_shlibs_required_multiple_provided);
+
ATF_TC_WITHOUT_HEAD(cleanup_shlibs_required_consecutive_provided);

ATF_TC_BODY(cleanup_shlibs_required, tc)
{
@@ -56,10 +57,33 @@ ATF_TC_BODY(cleanup_shlibs_required_multiple_provided, tc)
	ATF_REQUIRE_STREQ(p->shlibs_required.d[2], "libC.so.2");
}

+
ATF_TC_BODY(cleanup_shlibs_required_consecutive_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("libB.so.2"));
+
	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), 2);
+
	ATF_REQUIRE_STREQ(p->shlibs_required.d[0], "lib1.so.1");
+
	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);
+
	ATF_TP_ADD_TC(tp, cleanup_shlibs_required_consecutive_provided);

	return (atf_no_error());
}