xref: /freebsd/tests/sys/fs/fusefs/Makefile (revision 37df9d3bba8577fcdd63382ff5a4a5cbb4aa55b4)
1# $FreeBSD$
2
3.include <bsd.compiler.mk>
4
5PACKAGE=	tests
6
7TESTSDIR=	${TESTSBASE}/sys/fs/fusefs
8
9# We could simply link all of these files into a single executable.  But since
10# Kyua treats googletest programs as plain tests, it's better to separate them
11# out, so we get more granular reporting.
12GTESTS+=	access
13GTESTS+=	allow_other
14GTESTS+=	bmap
15GTESTS+=	cache
16GTESTS+=	create
17GTESTS+=	default_permissions
18GTESTS+=	default_permissions_privileged
19GTESTS+=	destroy
20GTESTS+=	dev_fuse_poll
21GTESTS+=	fifo
22GTESTS+=	flush
23GTESTS+=	forget
24GTESTS+=	fsync
25GTESTS+=	fsyncdir
26GTESTS+=	getattr
27GTESTS+=	interrupt
28GTESTS+=	io
29GTESTS+=	link
30GTESTS+=	locks
31GTESTS+=	lookup
32GTESTS+=	lseek
33GTESTS+=	mkdir
34GTESTS+=	mknod
35GTESTS+=	mount
36GTESTS+=	nfs
37GTESTS+=	notify
38GTESTS+=	open
39GTESTS+=	opendir
40GTESTS+=	read
41GTESTS+=	readdir
42GTESTS+=	readlink
43GTESTS+=	release
44GTESTS+=	releasedir
45GTESTS+=	rename
46GTESTS+=	rmdir
47GTESTS+=	setattr
48GTESTS+=	statfs
49GTESTS+=	symlink
50GTESTS+=	unlink
51GTESTS+=	write
52GTESTS+=	xattr
53
54.for p in ${GTESTS}
55SRCS.$p+=	${p}.cc
56SRCS.$p+=	getmntopts.c
57SRCS.$p+=	mockfs.cc
58SRCS.$p+=	utils.cc
59.endfor
60
61TEST_METADATA.default_permissions+=	required_user="unprivileged"
62TEST_METADATA.default_permissions_privileged+=	required_user="root"
63TEST_METADATA.mknod+=	required_user="root"
64TEST_METADATA.nfs+=	required_user="root"
65
66# TODO: drastically increase timeout after test development is mostly complete
67TEST_METADATA+= timeout=10
68
69FUSEFS=		${SRCTOP}/sys/fs/fuse
70MOUNT=		${SRCTOP}/sbin/mount
71# Suppress warnings that GCC generates for the libc++ and gtest headers.
72CXXWARNFLAGS.gcc+=	-Wno-placement-new -Wno-attributes
73.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 80000
74CXXWARNFLAGS+=	-Wno-class-memaccess
75.endif
76CXXFLAGS+=	-I${SRCTOP}/tests
77CXXFLAGS+=	-I${FUSEFS}
78CXXFLAGS+=	-I${MOUNT}
79.PATH:		${MOUNT}
80CXXSTD=		c++14
81
82LIBADD+=	pthread
83LIBADD+=	gmock gtest
84LIBADD+=	util
85
86.include <bsd.test.mk>
87