xref: /llvm-project/libc/test/src/__support/File/CMakeLists.txt (revision db6b7a84e6e4949569e756f46357d9f54ad16a03)
1if(NOT (TARGET libc.src.__support.threads.mutex) OR LIBC_TARGET_OS_IS_GPU)
2  # Not all platforms have a mutex implementation. If mutex is unvailable,
3  # we just skip everything about files. The GPU does not currently support
4  # files as well.
5  return()
6endif()
7
8add_libc_test(
9  file_test
10  SUITE
11    libc-support-tests
12  SRCS
13    file_test.cpp
14  LINK_LIBRARIES
15    LibcMemoryHelpers
16  DEPENDS
17    libc.include.stdio
18    libc.hdr.types.size_t
19    libc.src.errno.errno
20    libc.src.__support.CPP.new
21    libc.src.__support.File.file
22)
23
24add_libc_test(
25  platform_file_test
26  SUITE
27    libc-support-tests
28  SRCS
29    platform_file_test.cpp
30  DEPENDS
31    libc.src.__support.File.file
32    libc.src.__support.File.platform_file
33    libc.include.stdio
34)
35
36set(platform_stream_targets "platform_stdout;platform_stdin;platform_stderr")
37foreach(target IN LISTS platform_file_targets)
38  if(TARGET libc.src.__support.File.${target})
39    add_libc_test(
40      ${target}_test
41      HERMETIC_TEST_ONLY
42      SUITE
43        libc-support-tests
44      SRCS
45        ${target}_test.cpp
46      DEPENDS
47        libc.src.__support.File.file
48        libc.src.__support.File.${target}
49        libc.include.stdio
50    )
51  endif()
52endforeach()
53
54add_subdirectory(testdata)
55