xref: /freebsd/lib/libc/tests/gen/Makefile (revision 31f9f09bf7b9b53533c9b731d9fade73eae379cc)
1.include <bsd.own.mk>
2
3SUBDIR+=		libdummy
4
5ATF_TESTS_C+=		arc4random_test
6ATF_TESTS_C+=		dir2_test
7ATF_TESTS_C+=		dlopen_empty_test
8ATF_TESTS_C+=		fmtcheck2_test
9ATF_TESTS_C+=		fmtmsg_test
10ATF_TESTS_C+=		fnmatch2_test
11ATF_TESTS_C+=		fpclassify_test
12ATF_TESTS_C+=		fpclassify2_test
13.if ${COMPILER_FEATURES:Mblocks}
14ATF_TESTS_C+=		fts_blocks_test
15.endif
16ATF_TESTS_C+=		fts_capsicum_test
17ATF_TESTS_C+=		fts_children_test
18ATF_TESTS_C+=		fts_misc_test
19ATF_TESTS_C+=		fts_open_test
20ATF_TESTS_C+=		fts_openat_test
21ATF_TESTS_C+=		fts_options_test
22ATF_TESTS_C+=		fts_regress_test
23ATF_TESTS_C+=		fts_set_test
24ATF_TESTS_C+=		fpsetmask_test
25ATF_TESTS_C+=		fpsetround_test
26ATF_TESTS_C+=		ftw_test
27ATF_TESTS_C+=		getentropy_test
28ATF_TESTS_C+=		getmntinfo_test
29ATF_TESTS_C+=		glob2_test
30.if ${COMPILER_FEATURES:Mblocks}
31ATF_TESTS_C+=		glob_blocks_test
32.endif
33ATF_TESTS_C+=		limits_test
34ATF_TESTS_C+=		makecontext_test
35ATF_TESTS_C+=		opendir_test
36ATF_TESTS_C+=		popen_test
37ATF_TESTS_C+=		posix_spawn_test
38ATF_TESTS_C+=		realpath2_test
39ATF_TESTS_C+=		scandir_test
40.if ${COMPILER_FEATURES:Mblocks}
41ATF_TESTS_C+=		scandir_blocks_test
42.endif
43ATF_TESTS_C+=		sig2str_test
44ATF_TESTS_C+=		sigsetops_test
45ATF_TESTS_C+=		wordexp_test
46
47# TODO: t_closefrom, t_fmtcheck, t_randomid,
48# TODO: t_siginfo (fixes require further inspection)
49# TODO: t_sethostname_test (consistently screws up the hostname)
50
51FILESGROUPS+=		posix_spawn_test_FILES
52
53posix_spawn_test_FILES=	spawnp_enoexec.sh
54posix_spawn_test_FILESDIR=	${TESTSDIR}
55posix_spawn_test_FILESMODE= 0755
56posix_spawn_test_FILESOWN= root
57posix_spawn_test_FILESGRP= wheel
58posix_spawn_test_FILESPACKAGE=	${PACKAGE}
59
60CFLAGS+=	-DTEST_LONG_DOUBLE
61
62# Define __HAVE_LONG_DOUBLE for architectures whose long double has greater
63# precision than their double.
64.if ${MACHINE_CPUARCH} == "aarch64" || \
65    ${MACHINE_CPUARCH} == "amd64" || \
66    ${MACHINE_CPUARCH} == "i386" || \
67    ${MACHINE_ARCH} == "powerpc64le" || \
68    ${MACHINE_CPUARCH} == "riscv"
69CFLAGS+=	-D__HAVE_LONG_DOUBLE
70.endif
71
72NETBSD_ATF_TESTS_C=	alarm_test
73NETBSD_ATF_TESTS_C+=	assert_test
74NETBSD_ATF_TESTS_C+=	basedirname_test
75NETBSD_ATF_TESTS_C+=	cpuset_test
76NETBSD_ATF_TESTS_C+=	dir_test
77NETBSD_ATF_TESTS_C+=	floatunditf_test
78NETBSD_ATF_TESTS_C+=	fnmatch_test
79NETBSD_ATF_TESTS_C+=	ftok_test
80NETBSD_ATF_TESTS_C+=	getcwd_test
81NETBSD_ATF_TESTS_C+=	getgrent_test
82NETBSD_ATF_TESTS_C+=	glob_test
83NETBSD_ATF_TESTS_C+=	humanize_number_test
84NETBSD_ATF_TESTS_C+=	isnan_test
85NETBSD_ATF_TESTS_C+=	nice_test
86NETBSD_ATF_TESTS_C+=	pause_test
87NETBSD_ATF_TESTS_C+=	raise_test
88NETBSD_ATF_TESTS_C+=	realpath_test
89NETBSD_ATF_TESTS_C+=	setdomainname_test
90NETBSD_ATF_TESTS_C+=	sethostname_test
91NETBSD_ATF_TESTS_C+=	sleep_test
92NETBSD_ATF_TESTS_C+=	syslog_test
93NETBSD_ATF_TESTS_C+=	time_test
94NETBSD_ATF_TESTS_C+=	ttyname_test
95NETBSD_ATF_TESTS_C+=	vis_test
96
97.include "../Makefile.netbsd-tests"
98
99CFLAGS.getentropy_test+=	-I${SRCTOP}/include
100LIBADD.getentropy_test+=	c
101LIBADD.humanize_number_test+=	util
102
103LIBADD.fpclassify_test+=m
104LIBADD.fpsetround_test+=m
105LIBADD.siginfo_test+=	m
106
107LIBADD.nice_test+=	pthread
108LIBADD.fts_regress_test+=	pthread
109LIBADD.syslog_test+=	pthread
110
111CFLAGS+=		-I${.CURDIR}
112
113SRCS.fmtcheck2_test=	fmtcheck_test.c
114SRCS.fnmatch2_test=	fnmatch_test.c
115
116TEST_METADATA.setdomainname_test+=	is_exclusive=true
117TESTS_SUBDIRS=	execve
118TESTS_SUBDIRS+=	posix_spawn
119
120# Tests that require address sanitizer
121.if ${COMPILER_FEATURES:Masan}
122.for t in scandir_test realpath2_test
123CFLAGS.${t}.c+=		-fsanitize=address
124LDFLAGS.${t}+=		-fsanitize=address
125.endfor
126.endif
127
128# Tests that require blocks support
129.for t in fts_blocks_test glob_blocks_test scandir_blocks_test
130CFLAGS.${t}.c+=		-fblocks
131LIBADD.${t}+=		BlocksRuntime
132.endfor
133
134# The old testcase name
135TEST_FNMATCH=	test-fnmatch
136CLEANFILES+=		${GEN_SH_CASE_TESTCASES}
137sh-tests: .PHONY
138.for target in clean obj depend all
139	@cd ${.CURDIR} && ${MAKE} PROG=${TEST_FNMATCH} \
140	    -DNO_SUBDIR ${target}
141.endfor
142	@cd ${.OBJDIR} && ./${TEST_FNMATCH} -s 1 > \
143	    ${SRCTOP}/bin/sh/tests/builtins/case2.0
144	@cd ${.OBJDIR} && ./${TEST_FNMATCH} -s 2 > \
145	    ${SRCTOP}/bin/sh/tests/builtins/case3.0
146
147.include <bsd.test.mk>
148