# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# LLVM libc unittest library.
load("//libc:libc_build_rules.bzl", "libc_support_library")
package(default_visibility = ["//visibility:public"])
licenses(["notice"])
libc_support_library(
name = "test_logger",
srcs = ["TestLogger.cpp"],
hdrs = ["TestLogger.h"],
deps = [
"//libc:__support_big_int",
"//libc:__support_cpp_string",
"//libc:__support_cpp_string_view",
"//libc:__support_macros_config",
"//libc:__support_macros_properties_types",
"//libc:__support_osutil_io",
"//libc:__support_uint128",
],
)
libc_support_library(
name = "LibcUnitTest",
srcs = [
"BazelFilePath.cpp",
"ExecuteFunctionUnix.cpp",
"LibcTest.cpp",
"LibcTestMain.cpp",
],
hdrs = [
"ErrnoSetterMatcher.h",
"ExecuteFunction.h",
"LibcTest.h",
"PlatformDefs.h",
"Test.h",
],
deps = [
":test_logger",
"//libc:__support_c_string",
"//libc:__support_cpp_bit",
"//libc:__support_cpp_bitset",
"//libc:__support_cpp_span",
"//libc:__support_cpp_string",
"//libc:__support_cpp_string_view",
"//libc:__support_cpp_type_traits",
"//libc:__support_fixed_point",
"//libc:__support_fputil_fp_bits",
"//libc:__support_fputil_fpbits_str",
"//libc:__support_fputil_rounding_mode",
"//libc:__support_macros_config",
"//libc:__support_macros_properties_architectures",
"//libc:__support_macros_properties_types",
"//libc:__support_stringutil",
"//libc:__support_uint128",
"//libc:errno",
"//libc:llvm_libc_macros_stdfix_macros",
"//llvm:Support",
],
)
libc_support_library(
name = "fp_test_helpers",
srcs = [
"FEnvSafeTest.cpp",
"FPExceptMatcher.cpp",
"RoundingModeUtils.cpp",
],
hdrs = [
"FEnvSafeTest.h",
"FPExceptMatcher.h",
"FPMatcher.h",
"RoundingModeUtils.h",
],
deps = [
":LibcUnitTest",
":string_utils",
":test_logger",
"//libc:__support_cpp_array",
"//libc:__support_cpp_bit",
"//libc:__support_cpp_bitset",
"//libc:__support_cpp_span",
"//libc:__support_cpp_type_traits",
"//libc:__support_cpp_utility",
"//libc:__support_fputil_fenv_impl",
"//libc:__support_fputil_fp_bits",
"//libc:__support_fputil_fpbits_str",
"//libc:__support_fputil_rounding_mode",
"//libc:__support_macros_config",
"//libc:__support_macros_properties_architectures",
"//libc:hdr_fenv_macros",
"//libc:hdr_math_macros",
"//libc:types_fenv_t",
],
)
libc_support_library(
name = "memory_matcher",
srcs = [
"MemoryMatcher.cpp",
],
hdrs = [
"MemoryMatcher.h",
],
deps = [
":LibcUnitTest",
"//libc:__support_cpp_bit",
"//libc:__support_cpp_bitset",
"//libc:__support_cpp_span",
"//libc:__support_cpp_type_traits",
"//libc:__support_macros_config",
],
)
libc_support_library(
name = "printf_matcher",
srcs = [
"PrintfMatcher.cpp",
],
hdrs = [
"PrintfMatcher.h",
],
deps = [
":LibcUnitTest",
":string_utils",
"//libc:__support_fputil_fp_bits",
"//libc:__support_macros_config",
"//libc:printf_core_structs",
],
)
libc_support_library(
name = "string_utils",
hdrs = [
"StringUtils.h",
],
deps = [
"//libc:__support_big_int",
"//libc:__support_cpp_string",
"//libc:__support_cpp_type_traits",
"//libc:__support_macros_config",
],
)