14a045a66SBrooks Davis.include <bsd.compiler.mk> 24a045a66SBrooks Davis 39821f1d3SAlan SomersPACKAGE= tests 49821f1d3SAlan Somers 59821f1d3SAlan SomersTESTSDIR= ${TESTSBASE}/sys/fs/fusefs 69821f1d3SAlan Somers 79821f1d3SAlan Somers# We could simply link all of these files into a single executable. But since 89821f1d3SAlan Somers# Kyua treats googletest programs as plain tests, it's better to separate them 99821f1d3SAlan Somers# out, so we get more granular reporting. 109821f1d3SAlan SomersGTESTS+= access 1191ff3a0dSAlan SomersGTESTS+= allow_other 125f51c9c3SAlan SomersGTESTS+= bad_server 13a1c9f4adSAlan SomersGTESTS+= bmap 14b0ecfb42SAlan SomersGTESTS+= cache 1592bbfe1fSAlan SomersGTESTS+= copy_file_range 169821f1d3SAlan SomersGTESTS+= create 179821f1d3SAlan SomersGTESTS+= default_permissions 18e5ff3a7eSAlan SomersGTESTS+= default_permissions_privileged 199821f1d3SAlan SomersGTESTS+= destroy 203429092cSAlan SomersGTESTS+= dev_fuse_poll 21398c88c7SAlan SomersGTESTS+= fallocate 22f9b0e30bSAlan SomersGTESTS+= fifo 239821f1d3SAlan SomersGTESTS+= flush 242d6bf515SAlan SomersGTESTS+= forget 259821f1d3SAlan SomersGTESTS+= fsync 269821f1d3SAlan SomersGTESTS+= fsyncdir 279821f1d3SAlan SomersGTESTS+= getattr 289821f1d3SAlan SomersGTESTS+= interrupt 29a87e0831SAlan SomersGTESTS+= io 3013d593a5SAlan SomersGTESTS+= last_local_modify 319821f1d3SAlan SomersGTESTS+= link 329821f1d3SAlan SomersGTESTS+= locks 339821f1d3SAlan SomersGTESTS+= lookup 3437df9d3bSAlan SomersGTESTS+= lseek 359821f1d3SAlan SomersGTESTS+= mkdir 369821f1d3SAlan SomersGTESTS+= mknod 37a6fac00cSAlan SomersGTESTS+= mount 38e5b50fe7SAlan SomersGTESTS+= nfs 39c2d70d6eSAlan SomersGTESTS+= notify 409821f1d3SAlan SomersGTESTS+= open 419821f1d3SAlan SomersGTESTS+= opendir 429821f1d3SAlan SomersGTESTS+= read 439821f1d3SAlan SomersGTESTS+= readdir 449821f1d3SAlan SomersGTESTS+= readlink 459821f1d3SAlan SomersGTESTS+= release 469821f1d3SAlan SomersGTESTS+= releasedir 479821f1d3SAlan SomersGTESTS+= rename 489821f1d3SAlan SomersGTESTS+= rmdir 499821f1d3SAlan SomersGTESTS+= setattr 509821f1d3SAlan SomersGTESTS+= statfs 519821f1d3SAlan SomersGTESTS+= symlink 529821f1d3SAlan SomersGTESTS+= unlink 539821f1d3SAlan SomersGTESTS+= write 549821f1d3SAlan SomersGTESTS+= xattr 559821f1d3SAlan Somers 5699878c75SAlan Somers.for p in ${GTESTS} 5799878c75SAlan SomersSRCS.$p+= ${p}.cc 5899878c75SAlan SomersSRCS.$p+= getmntopts.c 5999878c75SAlan SomersSRCS.$p+= mockfs.cc 6099878c75SAlan SomersSRCS.$p+= utils.cc 6199878c75SAlan Somers.endfor 629821f1d3SAlan Somers 639821f1d3SAlan SomersTEST_METADATA.default_permissions+= required_user="unprivileged" 64e5ff3a7eSAlan SomersTEST_METADATA.default_permissions_privileged+= required_user="root" 659821f1d3SAlan SomersTEST_METADATA.mknod+= required_user="root" 66e5b50fe7SAlan SomersTEST_METADATA.nfs+= required_user="root" 679821f1d3SAlan Somers 689821f1d3SAlan SomersTEST_METADATA+= timeout=10 699821f1d3SAlan Somers 7099878c75SAlan SomersFUSEFS= ${SRCTOP}/sys/fs/fuse 7199878c75SAlan SomersMOUNT= ${SRCTOP}/sbin/mount 725a0b9a27SAlan Somers# Suppress warnings that GCC generates for the libc++ and gtest headers. 734a045a66SBrooks DavisCXXWARNFLAGS.gcc+= -Wno-placement-new -Wno-attributes 7471befc35SAlan Somers# Suppress Wcast-align for readdir.cc, because it is unavoidable when using 7571befc35SAlan Somers# getdirentries. 7671befc35SAlan SomersCXXWARNFLAGS.readdir.cc+= -Wno-cast-align 774a045a66SBrooks Davis.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 80000 784a045a66SBrooks DavisCXXWARNFLAGS+= -Wno-class-memaccess 794a045a66SBrooks Davis.endif 80062de1c5SJohn Baldwin# Suppress false warning about set but unused DNAME in inval_entry_below_root 81062de1c5SJohn BaldwinCXXWARNFLAGS.gcc+= -Wno-unused-but-set-variable 82062de1c5SJohn Baldwin# Suppress warnings about deprecated implicit copy constructors in gtest. 835a3a8cb0SDimitry AndricCXXWARNFLAGS+= -Wno-deprecated-copy 84*dc0b4094SDimitry Andric.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 180000 85*dc0b4094SDimitry Andric# clang 18.0.0 introduces a new warning about variable length arrays in C++. 86*dc0b4094SDimitry AndricCXXWARNFLAGS+= -Wno-vla-cxx-extension 87*dc0b4094SDimitry Andric.endif 8899878c75SAlan SomersCXXFLAGS+= -I${SRCTOP}/tests 8999878c75SAlan SomersCXXFLAGS+= -I${FUSEFS} 9099878c75SAlan SomersCXXFLAGS+= -I${MOUNT} 919821f1d3SAlan Somers.PATH: ${MOUNT} 929821f1d3SAlan Somers 939821f1d3SAlan SomersLIBADD+= pthread 949821f1d3SAlan SomersLIBADD+= gmock gtest 959821f1d3SAlan SomersLIBADD+= util 969821f1d3SAlan Somers 979821f1d3SAlan Somers.include <bsd.test.mk> 98