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+= copy_file_range 17GTESTS+= create 18GTESTS+= default_permissions 19GTESTS+= default_permissions_privileged 20GTESTS+= destroy 21GTESTS+= dev_fuse_poll 22GTESTS+= fifo 23GTESTS+= flush 24GTESTS+= forget 25GTESTS+= fsync 26GTESTS+= fsyncdir 27GTESTS+= getattr 28GTESTS+= interrupt 29GTESTS+= io 30GTESTS+= link 31GTESTS+= locks 32GTESTS+= lookup 33GTESTS+= lseek 34GTESTS+= mkdir 35GTESTS+= mknod 36GTESTS+= mount 37GTESTS+= nfs 38GTESTS+= notify 39GTESTS+= open 40GTESTS+= opendir 41GTESTS+= read 42GTESTS+= readdir 43GTESTS+= readlink 44GTESTS+= release 45GTESTS+= releasedir 46GTESTS+= rename 47GTESTS+= rmdir 48GTESTS+= setattr 49GTESTS+= statfs 50GTESTS+= symlink 51GTESTS+= unlink 52GTESTS+= write 53GTESTS+= xattr 54 55.for p in ${GTESTS} 56SRCS.$p+= ${p}.cc 57SRCS.$p+= getmntopts.c 58SRCS.$p+= mockfs.cc 59SRCS.$p+= utils.cc 60.endfor 61 62TEST_METADATA.default_permissions+= required_user="unprivileged" 63TEST_METADATA.default_permissions_privileged+= required_user="root" 64TEST_METADATA.mknod+= required_user="root" 65TEST_METADATA.nfs+= required_user="root" 66 67# TODO: drastically increase timeout after test development is mostly complete 68TEST_METADATA+= timeout=10 69 70FUSEFS= ${SRCTOP}/sys/fs/fuse 71MOUNT= ${SRCTOP}/sbin/mount 72# Suppress warnings that GCC generates for the libc++ and gtest headers. 73CXXWARNFLAGS.gcc+= -Wno-placement-new -Wno-attributes 74# Suppress Wcast-align for readdir.cc, because it is unavoidable when using 75# getdirentries. 76CXXWARNFLAGS.readdir.cc+= -Wno-cast-align 77.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 80000 78CXXWARNFLAGS+= -Wno-class-memaccess 79.endif 80CXXFLAGS+= -I${SRCTOP}/tests 81CXXFLAGS+= -I${FUSEFS} 82CXXFLAGS+= -I${MOUNT} 83.PATH: ${MOUNT} 84CXXSTD= c++14 85 86LIBADD+= pthread 87LIBADD+= gmock gtest 88LIBADD+= util 89 90.include <bsd.test.mk> 91