Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
pkgvec: actually add the test file
Baptiste Daroussin committed 1 year ago
commit 00c1cabeab16bb02b6906b7b6ce6e61cfeeb6c18
parent d710ba3
1 file changed +127 -0
added tests/lib/vec.c
@@ -0,0 +1,127 @@
+
/*-
+
 * Copyright(c) 2024 Baptiste Daroussin <bapt@FreeBSD.org>
+
 *
+
 * SPDX-License-Identifier: BSD-2-Clause
+
 */
+

+
#include <atf-c.h>
+
#include <private/utils.h>
+
#include <pkgvec.h>
+
#include <xmalloc.h>
+

+
ATF_TC_WITHOUT_HEAD(c_charv_t);
+
ATF_TC_WITHOUT_HEAD(c_charv_contains);
+
ATF_TC_WITHOUT_HEAD(charv_t);
+

+
ATF_TC_BODY(c_charv_t, tc)
+
{
+
	c_charv_t list;
+

+
	pkgvec_init(&list);
+
	ATF_REQUIRE_EQ_MSG(list.d, NULL, "pkgvec_init failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 0, "pkgvec_init failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 0, "pkgvec_init failed");
+

+
	pkgvec_push(&list, "test1");
+
	ATF_REQUIRE_MSG(list.d != NULL, "pkgvec_push failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 1, "pkgvec_push failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 1, "pkgvec_push failed");
+

+
	pkgvec_push(&list, "test2");
+
	ATF_REQUIRE_MSG(list.d != NULL, "pkgvec_push2 failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 2, "pkgvec_push2 failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 2, "pkgvec_push2 failed");
+

+
	pkgvec_push(&list, "test3");
+
	ATF_REQUIRE_MSG(list.d != NULL, "pkgvec_push3 failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 4, "pkgvec_push3 failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 3, "pkgvec_push3 failed");
+

+
	ATF_REQUIRE_STREQ_MSG(pkgvec_first(&list), "test1", "pkgvec_first failed");
+
	ATF_REQUIRE_STREQ_MSG(pkgvec_last(&list), "test3", "pkgvec_last failed");
+

+
	pkgvec_clear(&list);
+
	ATF_REQUIRE_MSG(list.d != NULL, "pkgvec_clear failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 4, "pkgvec_clear failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 0, "pkgvec_clear failed");
+

+
	pkgvec_free(&list);
+
	ATF_REQUIRE_EQ_MSG(list.d, NULL, "pkgvec_free failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 0, "pkgvec_free failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 0, "pkgvec_free failed");
+
}
+

+
ATF_TC_BODY(charv_t, tc)
+
{
+
	charv_t list;
+

+
	pkgvec_init(&list);
+
	ATF_REQUIRE_EQ_MSG(list.d, NULL, "pkgvec_init failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 0, "pkgvec_init failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 0, "pkgvec_init failed");
+

+
	pkgvec_push(&list, xstrdup("test1"));
+
	ATF_REQUIRE_MSG(list.d != NULL, "pkgvec_push failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 1, "pkgvec_push failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 1, "pkgvec_push failed");
+

+
	pkgvec_push(&list, xstrdup("test2"));
+
	ATF_REQUIRE_MSG(list.d != NULL, "pkgvec_push2 failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 2, "pkgvec_push2 failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 2, "pkgvec_push2 failed");
+

+
	pkgvec_push(&list, xstrdup("test3"));
+
	ATF_REQUIRE_MSG(list.d != NULL, "pkgvec_push3 failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 4, "pkgvec_push3 failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 3, "pkgvec_push3 failed");
+

+
	ATF_REQUIRE_STREQ_MSG(pkgvec_first(&list), "test1", "pkgvec_first failed");
+
	ATF_REQUIRE_STREQ_MSG(pkgvec_last(&list), "test3", "pkgvec_last failed");
+

+
	pkgvec_clear_and_free(&list, free);
+
	ATF_REQUIRE_MSG(list.d != NULL, "pkgvec_clear failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 4, "pkgvec_clear failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 0, "pkgvec_clear failed");
+

+
	pkgvec_free_and_free(&list, free);
+
	ATF_REQUIRE_EQ_MSG(list.d, NULL, "pkgvec_free failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 0, "pkgvec_free failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 0, "pkgvec_free failed");
+
}
+

+
ATF_TC_BODY(c_charv_contains, tc)
+
{
+
	charv_t list;
+

+
	pkgvec_init(&list);
+
	ATF_REQUIRE_EQ_MSG(list.d, NULL, "pkgvec_init failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 0, "pkgvec_init failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 0, "pkgvec_init failed");
+

+
	pkgvec_push(&list, xstrdup("test1"));
+
	ATF_REQUIRE_MSG(list.d != NULL, "pkgvec_push failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 1, "pkgvec_push failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 1, "pkgvec_push failed");
+

+
	pkgvec_push(&list, xstrdup("test2"));
+
	ATF_REQUIRE_MSG(list.d != NULL, "pkgvec_push2 failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 2, "pkgvec_push2 failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 2, "pkgvec_push2 failed");
+

+
	pkgvec_push(&list, xstrdup("test3"));
+
	ATF_REQUIRE_MSG(list.d != NULL, "pkgvec_push3 failed");
+
	ATF_REQUIRE_EQ_MSG(list.cap, 4, "pkgvec_push3 failed");
+
	ATF_REQUIRE_EQ_MSG(list.len, 3, "pkgvec_push3 failed");
+

+
	ATF_REQUIRE_EQ_MSG(c_charv_contains(&list, "Test3", true), false, "c_charv_contains not case sensitive");
+
	ATF_REQUIRE_EQ_MSG(c_charv_contains(&list, "Test3", false), true, "c_charv_contains not case insensitive");
+
	ATF_REQUIRE_EQ_MSG(c_charv_contains(&list, "aest3", false), false, "c_charv_contains should not find anything");
+
}
+
ATF_TP_ADD_TCS(tp)
+
{
+
	ATF_TP_ADD_TC(tp, c_charv_t);
+
	ATF_TP_ADD_TC(tp, charv_t);
+
	ATF_TP_ADD_TC(tp, c_charv_contains);
+

+
	return (atf_no_error());
+
}