xref: /freebsd/tests/sys/fs/fusefs/Makefile (revision 9350e9236242f51c88b3e5c19ceeae7869b9cf83)
14a045a66SBrooks Davis.include <bsd.compiler.mk>
24a045a66SBrooks Davis
39821f1d3SAlan SomersPACKAGE=	tests
49821f1d3SAlan Somers
59821f1d3SAlan SomersTESTSDIR=	${TESTSBASE}/sys/fs/fusefs
69821f1d3SAlan Somers
7*9350e923SAlan SomersATF_TESTS_SH+=	ctl
8*9350e923SAlan Somers
99821f1d3SAlan Somers# We could simply link all of these files into a single executable.  But since
109821f1d3SAlan Somers# Kyua treats googletest programs as plain tests, it's better to separate them
119821f1d3SAlan Somers# out, so we get more granular reporting.
129821f1d3SAlan SomersGTESTS+=	access
1391ff3a0dSAlan SomersGTESTS+=	allow_other
145f51c9c3SAlan SomersGTESTS+=	bad_server
15a1c9f4adSAlan SomersGTESTS+=	bmap
16b0ecfb42SAlan SomersGTESTS+=	cache
1792bbfe1fSAlan SomersGTESTS+=	copy_file_range
189821f1d3SAlan SomersGTESTS+=	create
199821f1d3SAlan SomersGTESTS+=	default_permissions
20e5ff3a7eSAlan SomersGTESTS+=	default_permissions_privileged
219821f1d3SAlan SomersGTESTS+=	destroy
223429092cSAlan SomersGTESTS+=	dev_fuse_poll
23398c88c7SAlan SomersGTESTS+=	fallocate
24f9b0e30bSAlan SomersGTESTS+=	fifo
259821f1d3SAlan SomersGTESTS+=	flush
262d6bf515SAlan SomersGTESTS+=	forget
279821f1d3SAlan SomersGTESTS+=	fsync
289821f1d3SAlan SomersGTESTS+=	fsyncdir
299821f1d3SAlan SomersGTESTS+=	getattr
309821f1d3SAlan SomersGTESTS+=	interrupt
31a87e0831SAlan SomersGTESTS+=	io
3213d593a5SAlan SomersGTESTS+=	last_local_modify
339821f1d3SAlan SomersGTESTS+=	link
349821f1d3SAlan SomersGTESTS+=	locks
359821f1d3SAlan SomersGTESTS+=	lookup
3637df9d3bSAlan SomersGTESTS+=	lseek
379821f1d3SAlan SomersGTESTS+=	mkdir
389821f1d3SAlan SomersGTESTS+=	mknod
39a6fac00cSAlan SomersGTESTS+=	mount
40e5b50fe7SAlan SomersGTESTS+=	nfs
41c2d70d6eSAlan SomersGTESTS+=	notify
429821f1d3SAlan SomersGTESTS+=	open
439821f1d3SAlan SomersGTESTS+=	opendir
44cc9c2130SAlan SomersGTESTS+=	pre-init
459821f1d3SAlan SomersGTESTS+=	read
469821f1d3SAlan SomersGTESTS+=	readdir
479821f1d3SAlan SomersGTESTS+=	readlink
489821f1d3SAlan SomersGTESTS+=	release
499821f1d3SAlan SomersGTESTS+=	releasedir
509821f1d3SAlan SomersGTESTS+=	rename
519821f1d3SAlan SomersGTESTS+=	rmdir
529821f1d3SAlan SomersGTESTS+=	setattr
539821f1d3SAlan SomersGTESTS+=	statfs
549821f1d3SAlan SomersGTESTS+=	symlink
559821f1d3SAlan SomersGTESTS+=	unlink
569821f1d3SAlan SomersGTESTS+=	write
579821f1d3SAlan SomersGTESTS+=	xattr
589821f1d3SAlan Somers
5999878c75SAlan Somers.for p in ${GTESTS}
6099878c75SAlan SomersSRCS.$p+=	${p}.cc
6199878c75SAlan SomersSRCS.$p+=	mockfs.cc
6299878c75SAlan SomersSRCS.$p+=	utils.cc
6399878c75SAlan Somers.endfor
649821f1d3SAlan Somers
659821f1d3SAlan SomersTEST_METADATA.default_permissions+=	required_user="unprivileged"
66e5ff3a7eSAlan SomersTEST_METADATA.default_permissions_privileged+=	required_user="root"
679821f1d3SAlan SomersTEST_METADATA.mknod+=	required_user="root"
68e5b50fe7SAlan SomersTEST_METADATA.nfs+=	required_user="root"
69*9350e923SAlan Somers# ctl must be exclusive because it disables/enables camsim
70*9350e923SAlan SomersTEST_METADATA.ctl+=	is_exclusive="true"
71*9350e923SAlan SomersTEST_METADATA.ctl+=	required_user="root"
729821f1d3SAlan Somers
739821f1d3SAlan SomersTEST_METADATA+= timeout=10
749821f1d3SAlan Somers
7599878c75SAlan SomersFUSEFS=		${SRCTOP}/sys/fs/fuse
765a0b9a27SAlan Somers# Suppress warnings that GCC generates for the libc++ and gtest headers.
774a045a66SBrooks DavisCXXWARNFLAGS.gcc+=	-Wno-placement-new -Wno-attributes
7871befc35SAlan Somers# Suppress Wcast-align for readdir.cc, because it is unavoidable when using
7971befc35SAlan Somers# getdirentries.
8071befc35SAlan SomersCXXWARNFLAGS.readdir.cc+=	-Wno-cast-align
814a045a66SBrooks Davis.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 80000
824a045a66SBrooks DavisCXXWARNFLAGS+=	-Wno-class-memaccess
834a045a66SBrooks Davis.endif
84062de1c5SJohn Baldwin# Suppress false warning about set but unused DNAME in inval_entry_below_root
85062de1c5SJohn BaldwinCXXWARNFLAGS.gcc+= -Wno-unused-but-set-variable
86062de1c5SJohn Baldwin# Suppress warnings about deprecated implicit copy constructors in gtest.
875a3a8cb0SDimitry AndricCXXWARNFLAGS+=  -Wno-deprecated-copy
88dc0b4094SDimitry Andric.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 180000
89dc0b4094SDimitry Andric# clang 18.0.0 introduces a new warning about variable length arrays in C++.
90dc0b4094SDimitry AndricCXXWARNFLAGS+=	-Wno-vla-cxx-extension
91dc0b4094SDimitry Andric.endif
9299878c75SAlan SomersCXXFLAGS+=	-I${SRCTOP}/tests
9399878c75SAlan SomersCXXFLAGS+=	-I${FUSEFS}
949821f1d3SAlan Somers
959821f1d3SAlan SomersLIBADD+=	pthread
969821f1d3SAlan SomersLIBADD+=	gmock gtest
979821f1d3SAlan SomersLIBADD+=	util
989821f1d3SAlan Somers
999821f1d3SAlan Somers.include <bsd.test.mk>
100