1# $FreeBSD: stable/12/tests/sys/fs/fusefs/Makefile 371499 2022-01-18 01:44:27Z git2svn $
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+=	last_local_modify
30GTESTS+=	link
31GTESTS+=	locks
32GTESTS+=	lookup
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# Suppress Wcast-align for readdir.cc, because it is unavoidable when using
74# getdirentries.
75CXXWARNFLAGS.readdir.cc+=	-Wno-cast-align
76.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 80000
77CXXWARNFLAGS+=	-Wno-class-memaccess
78.endif
79# Supress warnings about deprecated implicit copy constructors in gtest.
80CXXWARNFLAGS+=  -Wno-deprecated-copy
81CXXFLAGS+=	-I${SRCTOP}/tests
82CXXFLAGS+=	-I${FUSEFS}
83CXXFLAGS+=	-I${MOUNT}
84.PATH:		${MOUNT}
85CXXSTD=		c++14
86
87LIBADD+=	pthread
88LIBADD+=	gmock gtest
89LIBADD+=	util
90
91WARNS?=	6
92
93.include <bsd.test.mk>
94