14a045a66SBrooks Davis.include <bsd.compiler.mk> 24a045a66SBrooks Davis 39821f1d3SAlan SomersPACKAGE= tests 49821f1d3SAlan Somers 59821f1d3SAlan SomersTESTSDIR= ${TESTSBASE}/sys/fs/fusefs 69821f1d3SAlan Somers 7*9350e923SAlan SomersATF_TESTS_SH+= ctl 8*9350e923SAlan Somers 99821f1d3SAlan Somers# We could simply link all of these files into a single executable. But since 109821f1d3SAlan Somers# Kyua treats googletest programs as plain tests, it's better to separate them 119821f1d3SAlan Somers# out, so we get more granular reporting. 129821f1d3SAlan SomersGTESTS+= access 1391ff3a0dSAlan SomersGTESTS+= allow_other 145f51c9c3SAlan SomersGTESTS+= bad_server 15a1c9f4adSAlan SomersGTESTS+= bmap 16b0ecfb42SAlan SomersGTESTS+= cache 1792bbfe1fSAlan SomersGTESTS+= copy_file_range 189821f1d3SAlan SomersGTESTS+= create 199821f1d3SAlan SomersGTESTS+= default_permissions 20e5ff3a7eSAlan SomersGTESTS+= default_permissions_privileged 219821f1d3SAlan SomersGTESTS+= destroy 223429092cSAlan SomersGTESTS+= dev_fuse_poll 23398c88c7SAlan SomersGTESTS+= fallocate 24f9b0e30bSAlan SomersGTESTS+= fifo 259821f1d3SAlan SomersGTESTS+= flush 262d6bf515SAlan SomersGTESTS+= forget 279821f1d3SAlan SomersGTESTS+= fsync 289821f1d3SAlan SomersGTESTS+= fsyncdir 299821f1d3SAlan SomersGTESTS+= getattr 309821f1d3SAlan SomersGTESTS+= interrupt 31a87e0831SAlan SomersGTESTS+= io 3213d593a5SAlan SomersGTESTS+= last_local_modify 339821f1d3SAlan SomersGTESTS+= link 349821f1d3SAlan SomersGTESTS+= locks 359821f1d3SAlan SomersGTESTS+= lookup 3637df9d3bSAlan SomersGTESTS+= lseek 379821f1d3SAlan SomersGTESTS+= mkdir 389821f1d3SAlan SomersGTESTS+= mknod 39a6fac00cSAlan SomersGTESTS+= mount 40e5b50fe7SAlan SomersGTESTS+= nfs 41c2d70d6eSAlan SomersGTESTS+= notify 429821f1d3SAlan SomersGTESTS+= open 439821f1d3SAlan SomersGTESTS+= opendir 44cc9c2130SAlan SomersGTESTS+= pre-init 459821f1d3SAlan SomersGTESTS+= read 469821f1d3SAlan SomersGTESTS+= readdir 479821f1d3SAlan SomersGTESTS+= readlink 489821f1d3SAlan SomersGTESTS+= release 499821f1d3SAlan SomersGTESTS+= releasedir 509821f1d3SAlan SomersGTESTS+= rename 519821f1d3SAlan SomersGTESTS+= rmdir 529821f1d3SAlan SomersGTESTS+= setattr 539821f1d3SAlan SomersGTESTS+= statfs 549821f1d3SAlan SomersGTESTS+= symlink 559821f1d3SAlan SomersGTESTS+= unlink 569821f1d3SAlan SomersGTESTS+= write 579821f1d3SAlan SomersGTESTS+= xattr 589821f1d3SAlan Somers 5999878c75SAlan Somers.for p in ${GTESTS} 6099878c75SAlan SomersSRCS.$p+= ${p}.cc 6199878c75SAlan SomersSRCS.$p+= mockfs.cc 6299878c75SAlan SomersSRCS.$p+= utils.cc 6399878c75SAlan Somers.endfor 649821f1d3SAlan Somers 659821f1d3SAlan SomersTEST_METADATA.default_permissions+= required_user="unprivileged" 66e5ff3a7eSAlan SomersTEST_METADATA.default_permissions_privileged+= required_user="root" 679821f1d3SAlan SomersTEST_METADATA.mknod+= required_user="root" 68e5b50fe7SAlan SomersTEST_METADATA.nfs+= required_user="root" 69*9350e923SAlan Somers# ctl must be exclusive because it disables/enables camsim 70*9350e923SAlan SomersTEST_METADATA.ctl+= is_exclusive="true" 71*9350e923SAlan SomersTEST_METADATA.ctl+= required_user="root" 729821f1d3SAlan Somers 739821f1d3SAlan SomersTEST_METADATA+= timeout=10 749821f1d3SAlan Somers 7599878c75SAlan SomersFUSEFS= ${SRCTOP}/sys/fs/fuse 765a0b9a27SAlan Somers# Suppress warnings that GCC generates for the libc++ and gtest headers. 774a045a66SBrooks DavisCXXWARNFLAGS.gcc+= -Wno-placement-new -Wno-attributes 7871befc35SAlan Somers# Suppress Wcast-align for readdir.cc, because it is unavoidable when using 7971befc35SAlan Somers# getdirentries. 8071befc35SAlan SomersCXXWARNFLAGS.readdir.cc+= -Wno-cast-align 814a045a66SBrooks Davis.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 80000 824a045a66SBrooks DavisCXXWARNFLAGS+= -Wno-class-memaccess 834a045a66SBrooks Davis.endif 84062de1c5SJohn Baldwin# Suppress false warning about set but unused DNAME in inval_entry_below_root 85062de1c5SJohn BaldwinCXXWARNFLAGS.gcc+= -Wno-unused-but-set-variable 86062de1c5SJohn Baldwin# Suppress warnings about deprecated implicit copy constructors in gtest. 875a3a8cb0SDimitry AndricCXXWARNFLAGS+= -Wno-deprecated-copy 88dc0b4094SDimitry Andric.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 180000 89dc0b4094SDimitry Andric# clang 18.0.0 introduces a new warning about variable length arrays in C++. 90dc0b4094SDimitry AndricCXXWARNFLAGS+= -Wno-vla-cxx-extension 91dc0b4094SDimitry Andric.endif 9299878c75SAlan SomersCXXFLAGS+= -I${SRCTOP}/tests 9399878c75SAlan SomersCXXFLAGS+= -I${FUSEFS} 949821f1d3SAlan Somers 959821f1d3SAlan SomersLIBADD+= pthread 969821f1d3SAlan SomersLIBADD+= gmock gtest 979821f1d3SAlan SomersLIBADD+= util 989821f1d3SAlan Somers 999821f1d3SAlan Somers.include <bsd.test.mk> 100