libc: tests: hook CPUSET(9) test up to the build

Add shims to map NetBSD's API to CPUSET(9). Obviously the invalid input
parts of these tests are relatively useless since we're just testing the
shims that aren't used elsewhere, there's still some amount of value in
the parts testing valid inputs.

Differential Revision:	https://reviews.freebsd.org/D27307
This commit is contained in:
Kyle Evans 2020-12-31 12:26:01 -06:00
parent ac5f382a9d
commit 9e1281eaba
2 changed files with 42 additions and 1 deletions

View File

@ -36,6 +36,46 @@ __RCSID("$NetBSD: t_cpuset.c,v 1.1 2011/11/08 05:47:00 jruoho Exp $");
#include <stdio.h>
#include <sched.h>
#ifdef __FreeBSD__
#include <sys/cpuset.h>
#include <stdlib.h>
#define cpuset_create() calloc(1, sizeof(cpuset_t))
#define cpuset_destroy(cs) free(cs)
static inline int
cpuset_set(size_t i, cpuset_t *cs)
{
if (i > CPU_SETSIZE)
return (-1);
CPU_SET(i, cs);
return (0);
}
static inline int
cpuset_clr(size_t i, cpuset_t *cs)
{
if (i > CPU_SETSIZE)
return (-1);
CPU_CLR(i, cs);
return (0);
}
static inline int
cpuset_isset(size_t i, cpuset_t *cs)
{
if (i > CPU_SETSIZE)
return (-1);
return (CPU_ISSET(i, cs));
}
#define cpuset_size(cs) sizeof(*cs)
#endif
ATF_TC(cpuset_err);
ATF_TC_HEAD(cpuset_err, tc)
{

View File

@ -20,7 +20,7 @@ ATF_TESTS_C+= realpath2_test
ATF_TESTS_C+= sigsetops_test
ATF_TESTS_C+= wordexp_test
# TODO: t_closefrom, t_cpuset, t_fmtcheck, t_randomid,
# TODO: t_closefrom, t_fmtcheck, t_randomid,
# TODO: t_siginfo (fixes require further inspection)
# TODO: t_sethostname_test (consistently screws up the hostname)
@ -47,6 +47,7 @@ CFLAGS+= -D__HAVE_LONG_DOUBLE
NETBSD_ATF_TESTS_C= alarm_test
NETBSD_ATF_TESTS_C+= assert_test
NETBSD_ATF_TESTS_C+= basedirname_test
NETBSD_ATF_TESTS_C+= cpuset_test
NETBSD_ATF_TESTS_C+= dir_test
NETBSD_ATF_TESTS_C+= floatunditf_test
NETBSD_ATF_TESTS_C+= fnmatch_test