if(NOT (TARGET libc.src.__support.threads.mutex) OR LIBC_TARGET_ARCHITECTURE_IS_GPU) # Not all platforms have a mutex implementation. If mutex is unvailable, # we just skip everything about files. The GPU does not currently support # files as well. return() endif() add_libc_test( file_test SUITE libc-support-tests SRCS file_test.cpp LINK_LIBRARIES LibcMemoryHelpers DEPENDS libc.include.errno libc.include.stdio libc.include.stdlib libc.src.__support.CPP.new libc.src.__support.File.file ) add_libc_test( platform_file_test SUITE libc-support-tests SRCS platform_file_test.cpp DEPENDS libc.src.__support.File.file libc.src.__support.File.platform_file libc.include.stdio ) set(platform_stream_targets "platform_stdout;platform_stdin;platform_stderr") foreach(target IN LISTS platform_file_targets) if(TARGET libc.src.__support.File.${target}) add_libc_test( ${target}_test HERMETIC_TEST_ONLY SUITE libc-support-tests SRCS ${target}_test.cpp DEPENDS libc.src.__support.File.file libc.src.__support.File.${target} libc.include.stdio ) endif() endforeach() add_subdirectory(testdata)