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