git: 8093646b0be9 - main - cpuset(3): Add unit tests
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 01 Jun 2023 21:27:50 UTC
The branch main has been updated by bapt:
URL: https://cgit.FreeBSD.org/src/commit/?id=8093646b0be9731f24eddbcee7dc34e1fd2365b5
commit 8093646b0be9731f24eddbcee7dc34e1fd2365b5
Author: Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2023-06-01 21:26:57 +0000
Commit: Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2023-06-01 21:27:45 +0000
cpuset(3): Add unit tests
Differential Revision: https://reviews.freebsd.org/D13046
---
lib/libutil/tests/Makefile | 1 +
lib/libutil/tests/cpuset_test.c | 73 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 74 insertions(+)
diff --git a/lib/libutil/tests/Makefile b/lib/libutil/tests/Makefile
index 5414042762af..fc9a871dd8bc 100644
--- a/lib/libutil/tests/Makefile
+++ b/lib/libutil/tests/Makefile
@@ -6,6 +6,7 @@ TAP_TESTS_C+= humanize_number_test
TAP_TESTS_C+= pidfile_test
TAP_TESTS_C+= trimdomain_test
TAP_TESTS_C+= trimdomain-nodomain_test
+ATF_TESTS_C+= cpuset_test
WARNS?= 2
LIBADD+= util
diff --git a/lib/libutil/tests/cpuset_test.c b/lib/libutil/tests/cpuset_test.c
new file mode 100644
index 000000000000..ea8eb8d83743
--- /dev/null
+++ b/lib/libutil/tests/cpuset_test.c
@@ -0,0 +1,73 @@
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/types.h>
+#include <sys/cpuset.h>
+
+#include <stdio.h>
+#include <libutil.h>
+#include <atf-c.h>
+
+ATF_TC(invalid);
+ATF_TC_HEAD(invalid, tc)
+{
+ atf_tc_set_md_var(tc, "descr", "Test invalid cpu");
+}
+
+ATF_TC_BODY(invalid, tc)
+{
+ cpuset_t mask;
+ char testvalue[BUFSIZ];
+
+ snprintf(testvalue, sizeof(testvalue), "%d", CPU_SETSIZE + 1);
+
+ ATF_CHECK_EQ(cpuset_parselist(testvalue, &mask), CPUSET_PARSE_INVALID_CPU);
+}
+
+ATF_TC(invalidchar);
+ATF_TC_HEAD(invalidchar, tc)
+{
+ atf_tc_set_md_var(tc, "descr", "Test invalid char");
+}
+
+ATF_TC_BODY(invalidchar, tc)
+{
+ cpuset_t mask;
+
+ ATF_CHECK_EQ(cpuset_parselist("1+3", &mask), CPUSET_PARSE_ERROR);
+}
+
+ATF_TC(all);
+ATF_TC_HEAD(all, tc)
+{
+ atf_tc_set_md_var(tc, "descr", "Test 'all' special cpu-list");
+}
+
+ATF_TC_BODY(all, tc)
+{
+ cpuset_t mask;
+
+ ATF_CHECK_EQ(cpuset_parselist("all", &mask), CPUSET_PARSE_OK);
+}
+
+ATF_TC(normalsyntax);
+ATF_TC_HEAD(normalsyntax, tc)
+{
+ atf_tc_set_md_var(tc, "descr", "Test normal cpu-list syntax");
+}
+
+ATF_TC_BODY(normalsyntax, tc)
+{
+ cpuset_t mask;
+
+ ATF_CHECK_EQ(cpuset_parselist("1-3,6", &mask), CPUSET_PARSE_OK);
+}
+
+ATF_TP_ADD_TCS(tp)
+{
+ ATF_TP_ADD_TC(tp, invalid);
+ ATF_TP_ADD_TC(tp, invalidchar);
+ ATF_TP_ADD_TC(tp, all);
+ ATF_TP_ADD_TC(tp, normalsyntax);
+ return (atf_no_error());
+}