1.include <bsd.compiler.mk> 2 3PACKAGE= tests 4 5TESTSDIR= ${TESTSBASE}/sys/fs/fusefs 6 7ATF_TESTS_SH+= ctl 8ATF_TESTS_SH+= ext2-misc 9 10# We could simply link all of these files into a single executable. But since 11# Kyua treats googletest programs as plain tests, it's better to separate them 12# out, so we get more granular reporting. 13GTESTS+= access 14GTESTS+= allow_other 15GTESTS+= bad_server 16GTESTS+= bmap 17GTESTS+= cache 18GTESTS+= copy_file_range 19GTESTS+= create 20GTESTS+= default_permissions 21GTESTS+= default_permissions_privileged 22GTESTS+= destroy 23GTESTS+= dev_fuse_poll 24GTESTS+= fallocate 25GTESTS+= fifo 26GTESTS+= flush 27GTESTS+= forget 28GTESTS+= fsync 29GTESTS+= fsyncdir 30GTESTS+= getattr 31GTESTS+= interrupt 32GTESTS+= io 33GTESTS+= ioctl 34GTESTS+= last_local_modify 35GTESTS+= link 36GTESTS+= locks 37GTESTS+= lookup 38GTESTS+= lseek 39GTESTS+= misc 40GTESTS+= mkdir 41GTESTS+= mknod 42GTESTS+= mount 43GTESTS+= nfs 44GTESTS+= notify 45GTESTS+= open 46GTESTS+= opendir 47GTESTS+= pre-init 48GTESTS+= read 49GTESTS+= readdir 50GTESTS+= readlink 51GTESTS+= release 52GTESTS+= releasedir 53GTESTS+= rename 54GTESTS+= rmdir 55GTESTS+= setattr 56GTESTS+= statfs 57GTESTS+= symlink 58GTESTS+= unlink 59GTESTS+= write 60GTESTS+= xattr 61 62.for p in ${GTESTS} 63SRCS.$p+= ${p}.cc 64SRCS.$p+= mockfs.cc 65SRCS.$p+= utils.cc 66.endfor 67 68TEST_METADATA.default_permissions+= required_user="unprivileged" 69TEST_METADATA.default_permissions_privileged+= required_user="root" 70TEST_METADATA.mknod+= required_user="root" 71TEST_METADATA.nfs+= required_user="root" 72# NB: per-testcase metadata properties override global metadata properties. 73# This must reference all of the required modules for the test. 74TEST_METADATA.ctl+= required_kmods="ctl fusefs" 75# ctl must be exclusive because it disables/enables camsim 76TEST_METADATA.ctl+= is_exclusive="true" 77TEST_METADATA.ctl+= required_user="root" 78 79TEST_METADATA+= timeout=20 80TEST_METADATA+= required_kmods="fusefs" 81 82FUSEFS= ${SRCTOP}/sys/fs/fuse 83# Suppress warnings that GCC generates for the libc++ and gtest headers. 84CXXWARNFLAGS.gcc+= -Wno-placement-new -Wno-attributes 85# Suppress Wcast-align for readdir.cc, because it is unavoidable when using 86# getdirentries. 87CXXWARNFLAGS.readdir.cc+= -Wno-cast-align 88.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 80000 89CXXWARNFLAGS+= -Wno-class-memaccess 90.endif 91# Suppress false warning about set but unused DNAME in inval_entry_below_root 92CXXWARNFLAGS.gcc+= -Wno-unused-but-set-variable 93# Suppress warnings about deprecated implicit copy constructors in gtest. 94CXXWARNFLAGS+= -Wno-deprecated-copy 95.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 180000 96# clang 18.0.0 introduces a new warning about variable length arrays in C++. 97CXXWARNFLAGS+= -Wno-vla-cxx-extension 98.endif 99CXXFLAGS+= -I${SRCTOP}/tests 100CXXFLAGS+= -I${FUSEFS} 101 102LIBADD+= pthread 103LIBADD+= gmock gtest 104LIBADD+= util 105 106.include <bsd.test.mk> 107