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