xref: /freebsd/tests/sys/fs/fusefs/Makefile (revision 6527682ab7058e5023a2a6dea01d51c15dca701f)
14a045a66SBrooks Davis.include <bsd.compiler.mk>
24a045a66SBrooks Davis
39821f1d3SAlan SomersPACKAGE=	tests
49821f1d3SAlan Somers
59821f1d3SAlan SomersTESTSDIR=	${TESTSBASE}/sys/fs/fusefs
69821f1d3SAlan Somers
79821f1d3SAlan Somers# We could simply link all of these files into a single executable.  But since
89821f1d3SAlan Somers# Kyua treats googletest programs as plain tests, it's better to separate them
99821f1d3SAlan Somers# out, so we get more granular reporting.
109821f1d3SAlan SomersGTESTS+=	access
1191ff3a0dSAlan SomersGTESTS+=	allow_other
125f51c9c3SAlan SomersGTESTS+=	bad_server
13a1c9f4adSAlan SomersGTESTS+=	bmap
14b0ecfb42SAlan SomersGTESTS+=	cache
1592bbfe1fSAlan SomersGTESTS+=	copy_file_range
169821f1d3SAlan SomersGTESTS+=	create
179821f1d3SAlan SomersGTESTS+=	default_permissions
18e5ff3a7eSAlan SomersGTESTS+=	default_permissions_privileged
199821f1d3SAlan SomersGTESTS+=	destroy
203429092cSAlan SomersGTESTS+=	dev_fuse_poll
21398c88c7SAlan SomersGTESTS+=	fallocate
22f9b0e30bSAlan SomersGTESTS+=	fifo
239821f1d3SAlan SomersGTESTS+=	flush
242d6bf515SAlan SomersGTESTS+=	forget
259821f1d3SAlan SomersGTESTS+=	fsync
269821f1d3SAlan SomersGTESTS+=	fsyncdir
279821f1d3SAlan SomersGTESTS+=	getattr
289821f1d3SAlan SomersGTESTS+=	interrupt
29a87e0831SAlan SomersGTESTS+=	io
3013d593a5SAlan SomersGTESTS+=	last_local_modify
319821f1d3SAlan SomersGTESTS+=	link
329821f1d3SAlan SomersGTESTS+=	locks
339821f1d3SAlan SomersGTESTS+=	lookup
3437df9d3bSAlan SomersGTESTS+=	lseek
359821f1d3SAlan SomersGTESTS+=	mkdir
369821f1d3SAlan SomersGTESTS+=	mknod
37a6fac00cSAlan SomersGTESTS+=	mount
38e5b50fe7SAlan SomersGTESTS+=	nfs
39c2d70d6eSAlan SomersGTESTS+=	notify
409821f1d3SAlan SomersGTESTS+=	open
419821f1d3SAlan SomersGTESTS+=	opendir
429821f1d3SAlan SomersGTESTS+=	read
439821f1d3SAlan SomersGTESTS+=	readdir
449821f1d3SAlan SomersGTESTS+=	readlink
459821f1d3SAlan SomersGTESTS+=	release
469821f1d3SAlan SomersGTESTS+=	releasedir
479821f1d3SAlan SomersGTESTS+=	rename
489821f1d3SAlan SomersGTESTS+=	rmdir
499821f1d3SAlan SomersGTESTS+=	setattr
509821f1d3SAlan SomersGTESTS+=	statfs
519821f1d3SAlan SomersGTESTS+=	symlink
529821f1d3SAlan SomersGTESTS+=	unlink
539821f1d3SAlan SomersGTESTS+=	write
549821f1d3SAlan SomersGTESTS+=	xattr
559821f1d3SAlan Somers
5699878c75SAlan Somers.for p in ${GTESTS}
5799878c75SAlan SomersSRCS.$p+=	${p}.cc
5899878c75SAlan SomersSRCS.$p+=	getmntopts.c
5999878c75SAlan SomersSRCS.$p+=	mockfs.cc
6099878c75SAlan SomersSRCS.$p+=	utils.cc
6199878c75SAlan Somers.endfor
629821f1d3SAlan Somers
639821f1d3SAlan SomersTEST_METADATA.default_permissions+=	required_user="unprivileged"
64e5ff3a7eSAlan SomersTEST_METADATA.default_permissions_privileged+=	required_user="root"
659821f1d3SAlan SomersTEST_METADATA.mknod+=	required_user="root"
66e5b50fe7SAlan SomersTEST_METADATA.nfs+=	required_user="root"
679821f1d3SAlan Somers
689821f1d3SAlan SomersTEST_METADATA+= timeout=10
699821f1d3SAlan Somers
7099878c75SAlan SomersFUSEFS=		${SRCTOP}/sys/fs/fuse
7199878c75SAlan SomersMOUNT=		${SRCTOP}/sbin/mount
725a0b9a27SAlan Somers# Suppress warnings that GCC generates for the libc++ and gtest headers.
734a045a66SBrooks DavisCXXWARNFLAGS.gcc+=	-Wno-placement-new -Wno-attributes
7471befc35SAlan Somers# Suppress Wcast-align for readdir.cc, because it is unavoidable when using
7571befc35SAlan Somers# getdirentries.
7671befc35SAlan SomersCXXWARNFLAGS.readdir.cc+=	-Wno-cast-align
774a045a66SBrooks Davis.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 80000
784a045a66SBrooks DavisCXXWARNFLAGS+=	-Wno-class-memaccess
794a045a66SBrooks Davis.endif
80062de1c5SJohn Baldwin# Suppress false warning about set but unused DNAME in inval_entry_below_root
81062de1c5SJohn BaldwinCXXWARNFLAGS.gcc+= -Wno-unused-but-set-variable
82062de1c5SJohn Baldwin# Suppress warnings about deprecated implicit copy constructors in gtest.
835a3a8cb0SDimitry AndricCXXWARNFLAGS+=  -Wno-deprecated-copy
84*dc0b4094SDimitry Andric.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 180000
85*dc0b4094SDimitry Andric# clang 18.0.0 introduces a new warning about variable length arrays in C++.
86*dc0b4094SDimitry AndricCXXWARNFLAGS+=	-Wno-vla-cxx-extension
87*dc0b4094SDimitry Andric.endif
8899878c75SAlan SomersCXXFLAGS+=	-I${SRCTOP}/tests
8999878c75SAlan SomersCXXFLAGS+=	-I${FUSEFS}
9099878c75SAlan SomersCXXFLAGS+=	-I${MOUNT}
919821f1d3SAlan Somers.PATH:		${MOUNT}
929821f1d3SAlan Somers
939821f1d3SAlan SomersLIBADD+=	pthread
949821f1d3SAlan SomersLIBADD+=	gmock gtest
959821f1d3SAlan SomersLIBADD+=	util
969821f1d3SAlan Somers
979821f1d3SAlan Somers.include <bsd.test.mk>
98