1d856e5feSGuillaume Chatelet# This file is licensed under the Apache License v2.0 with LLVM Exceptions. 2d856e5feSGuillaume Chatelet# See https://llvm.org/LICENSE.txt for license information. 3d856e5feSGuillaume Chatelet# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 4d856e5feSGuillaume Chatelet 5d856e5feSGuillaume Chatelet# Tests for LLVM libc string.h functions. 6d856e5feSGuillaume Chatelet 787b00ef3SGuillaume Chateletload("//libc:libc_build_rules.bzl", "libc_support_library") 8d856e5feSGuillaume Chateletload("//libc/test:libc_test_rules.bzl", "libc_test") 9d856e5feSGuillaume Chatelet 10d856e5feSGuillaume Chateletpackage(default_visibility = ["//visibility:public"]) 11d856e5feSGuillaume Chatelet 12d856e5feSGuillaume Chateletlicenses(["notice"]) 13d856e5feSGuillaume Chatelet 14d856e5feSGuillaume Chateletlibc_test( 15d856e5feSGuillaume Chatelet name = "strlen_test", 16d856e5feSGuillaume Chatelet srcs = ["strlen_test.cpp"], 17d856e5feSGuillaume Chatelet libc_function_deps = [ 18d856e5feSGuillaume Chatelet "//libc:strlen", 19d856e5feSGuillaume Chatelet ], 20d856e5feSGuillaume Chatelet) 21d856e5feSGuillaume Chatelet 22d856e5feSGuillaume Chateletlibc_test( 23d856e5feSGuillaume Chatelet name = "strcpy_test", 24d856e5feSGuillaume Chatelet srcs = ["strcpy_test.cpp"], 25d856e5feSGuillaume Chatelet libc_function_deps = [ 26*4cceea1aSAlexey Samsonov "//libc:strcpy", 27d856e5feSGuillaume Chatelet ], 28d856e5feSGuillaume Chatelet) 29d856e5feSGuillaume Chatelet 30d856e5feSGuillaume Chateletlibc_test( 31d856e5feSGuillaume Chatelet name = "strcmp_test", 32d856e5feSGuillaume Chatelet srcs = ["strcmp_test.cpp"], 33d856e5feSGuillaume Chatelet libc_function_deps = [ 34d856e5feSGuillaume Chatelet "//libc:strcmp", 35d856e5feSGuillaume Chatelet ], 36d856e5feSGuillaume Chatelet) 37d856e5feSGuillaume Chatelet 38d856e5feSGuillaume Chateletlibc_test( 39d856e5feSGuillaume Chatelet name = "memchr_test", 40d856e5feSGuillaume Chatelet srcs = ["memchr_test.cpp"], 41d856e5feSGuillaume Chatelet libc_function_deps = [ 42d856e5feSGuillaume Chatelet "//libc:memchr", 43d856e5feSGuillaume Chatelet ], 44d856e5feSGuillaume Chatelet) 45d856e5feSGuillaume Chatelet 4687b00ef3SGuillaume Chateletlibc_support_library( 4782ca29ceSAlex Brachet name = "strchr_test_helper", 4882ca29ceSAlex Brachet hdrs = ["StrchrTest.h"], 4982ca29ceSAlex Brachet deps = ["//libc/test/UnitTest:LibcUnitTest"], 5082ca29ceSAlex Brachet) 5182ca29ceSAlex Brachet 52d856e5feSGuillaume Chateletlibc_test( 53d856e5feSGuillaume Chatelet name = "strchr_test", 54d856e5feSGuillaume Chatelet srcs = ["strchr_test.cpp"], 55d856e5feSGuillaume Chatelet libc_function_deps = [ 56d856e5feSGuillaume Chatelet "//libc:strchr", 57d856e5feSGuillaume Chatelet ], 5882ca29ceSAlex Brachet deps = [":strchr_test_helper"], 59d856e5feSGuillaume Chatelet) 60d856e5feSGuillaume Chatelet 61d856e5feSGuillaume Chateletlibc_test( 62d856e5feSGuillaume Chatelet name = "strstr_test", 63d856e5feSGuillaume Chatelet srcs = ["strstr_test.cpp"], 64d856e5feSGuillaume Chatelet libc_function_deps = [ 65d856e5feSGuillaume Chatelet "//libc:strstr", 66d856e5feSGuillaume Chatelet ], 67d856e5feSGuillaume Chatelet) 68d856e5feSGuillaume Chatelet 69d856e5feSGuillaume Chateletlibc_test( 70d856e5feSGuillaume Chatelet name = "strnlen_test", 71d856e5feSGuillaume Chatelet srcs = ["strnlen_test.cpp"], 72d856e5feSGuillaume Chatelet libc_function_deps = [ 73d856e5feSGuillaume Chatelet "//libc:strnlen", 74d856e5feSGuillaume Chatelet ], 75d856e5feSGuillaume Chatelet) 76d856e5feSGuillaume Chatelet 77d856e5feSGuillaume Chateletlibc_test( 78d856e5feSGuillaume Chatelet name = "memrchr_test", 79d856e5feSGuillaume Chatelet srcs = ["memrchr_test.cpp"], 80d856e5feSGuillaume Chatelet libc_function_deps = [ 81d856e5feSGuillaume Chatelet "//libc:memrchr", 82d856e5feSGuillaume Chatelet ], 83d856e5feSGuillaume Chatelet) 84d856e5feSGuillaume Chatelet 85d856e5feSGuillaume Chateletlibc_test( 86d856e5feSGuillaume Chatelet name = "strrchr_test", 87d856e5feSGuillaume Chatelet srcs = ["strrchr_test.cpp"], 88d856e5feSGuillaume Chatelet libc_function_deps = [ 89d856e5feSGuillaume Chatelet "//libc:strrchr", 90d856e5feSGuillaume Chatelet ], 9182ca29ceSAlex Brachet deps = [":strchr_test_helper"], 92d856e5feSGuillaume Chatelet) 93d856e5feSGuillaume Chatelet 94d856e5feSGuillaume Chateletlibc_test( 95d856e5feSGuillaume Chatelet name = "strcspn_test", 96d856e5feSGuillaume Chatelet srcs = ["strcspn_test.cpp"], 97d856e5feSGuillaume Chatelet libc_function_deps = [ 98d856e5feSGuillaume Chatelet "//libc:strcspn", 99d856e5feSGuillaume Chatelet ], 100d856e5feSGuillaume Chatelet) 101d856e5feSGuillaume Chatelet 102d856e5feSGuillaume Chateletlibc_test( 103d856e5feSGuillaume Chatelet name = "strspn_test", 104d856e5feSGuillaume Chatelet srcs = ["strspn_test.cpp"], 105d856e5feSGuillaume Chatelet libc_function_deps = [ 106d856e5feSGuillaume Chatelet "//libc:strspn", 107d856e5feSGuillaume Chatelet ], 108d856e5feSGuillaume Chatelet) 109d856e5feSGuillaume Chatelet 110d856e5feSGuillaume Chateletlibc_test( 111d856e5feSGuillaume Chatelet name = "strtok_test", 112d856e5feSGuillaume Chatelet srcs = ["strtok_test.cpp"], 113d856e5feSGuillaume Chatelet libc_function_deps = [ 114d856e5feSGuillaume Chatelet "//libc:strtok", 115d856e5feSGuillaume Chatelet ], 116d856e5feSGuillaume Chatelet) 117d856e5feSGuillaume Chatelet 11887b00ef3SGuillaume Chateletlibc_support_library( 119d856e5feSGuillaume Chatelet name = "memory_check_utils", 120d856e5feSGuillaume Chatelet hdrs = ["memory_utils/memory_check_utils.h"], 121d856e5feSGuillaume Chatelet deps = [ 122d856e5feSGuillaume Chatelet "//libc:__support_cpp_span", 123298843cdSGuillaume Chatelet "//libc:__support_libc_assert", 124dcf30d33SKrasimir Georgiev "//libc:__support_macros_config", 125e2f8c556SGuillaume Chatelet "//libc:__support_macros_sanitizer", 126d856e5feSGuillaume Chatelet "//libc:string_memory_utils", 127d856e5feSGuillaume Chatelet ], 128d856e5feSGuillaume Chatelet) 129d856e5feSGuillaume Chatelet 130344c73eeSDmitri Gribenkolibc_support_library( 131344c73eeSDmitri Gribenko name = "protected_pages", 132344c73eeSDmitri Gribenko hdrs = ["memory_utils/protected_pages.h"], 133344c73eeSDmitri Gribenko deps = [ 134344c73eeSDmitri Gribenko "//libc:__support_macros_attributes", 135344c73eeSDmitri Gribenko "//libc:__support_macros_properties_os", 136344c73eeSDmitri Gribenko ], 137344c73eeSDmitri Gribenko) 138344c73eeSDmitri Gribenko 139d856e5feSGuillaume Chateletlibc_test( 140d856e5feSGuillaume Chatelet name = "memcpy_test", 141d856e5feSGuillaume Chatelet srcs = ["memcpy_test.cpp"], 142d856e5feSGuillaume Chatelet libc_function_deps = [ 143d856e5feSGuillaume Chatelet "//libc:memcpy", 144d856e5feSGuillaume Chatelet ], 145344c73eeSDmitri Gribenko deps = [ 146344c73eeSDmitri Gribenko ":memory_check_utils", 147344c73eeSDmitri Gribenko ":protected_pages", 148344c73eeSDmitri Gribenko "//libc:__support_macros_properties_os", 149344c73eeSDmitri Gribenko ], 150d856e5feSGuillaume Chatelet) 151d856e5feSGuillaume Chatelet 152d856e5feSGuillaume Chateletlibc_test( 1531f6427a2SNick Desaulniers name = "mempcpy_test", 1541f6427a2SNick Desaulniers srcs = ["mempcpy_test.cpp"], 1551f6427a2SNick Desaulniers libc_function_deps = [ 1561f6427a2SNick Desaulniers "//libc:mempcpy", 1571f6427a2SNick Desaulniers ], 1581f6427a2SNick Desaulniers) 1591f6427a2SNick Desaulniers 1601f6427a2SNick Desaulnierslibc_test( 161d856e5feSGuillaume Chatelet name = "memset_test", 162d856e5feSGuillaume Chatelet srcs = ["memset_test.cpp"], 163d856e5feSGuillaume Chatelet libc_function_deps = [ 164d856e5feSGuillaume Chatelet "//libc:memset", 165d856e5feSGuillaume Chatelet ], 166344c73eeSDmitri Gribenko deps = [ 167344c73eeSDmitri Gribenko ":memory_check_utils", 168344c73eeSDmitri Gribenko ":protected_pages", 169344c73eeSDmitri Gribenko "//libc:__support_macros_properties_os", 170344c73eeSDmitri Gribenko ], 171d856e5feSGuillaume Chatelet) 172d856e5feSGuillaume Chatelet 173d856e5feSGuillaume Chateletlibc_test( 174d856e5feSGuillaume Chatelet name = "memmove_test", 175d856e5feSGuillaume Chatelet srcs = ["memmove_test.cpp"], 176d856e5feSGuillaume Chatelet libc_function_deps = [ 177d856e5feSGuillaume Chatelet "//libc:memcmp", 178d856e5feSGuillaume Chatelet "//libc:memmove", 179d856e5feSGuillaume Chatelet ], 180d856e5feSGuillaume Chatelet deps = [ 181b3c696fbSGuillaume Chatelet ":memory_check_utils", 182d856e5feSGuillaume Chatelet "//libc:__support_cpp_span", 183af1315c2SSiva Chandra Reddy "//libc/test/UnitTest:memory_matcher", 184d856e5feSGuillaume Chatelet ], 185d856e5feSGuillaume Chatelet) 186d856e5feSGuillaume Chatelet 187d856e5feSGuillaume Chateletlibc_test( 188d856e5feSGuillaume Chatelet name = "memcmp_test", 189d856e5feSGuillaume Chatelet srcs = ["memcmp_test.cpp"], 190d856e5feSGuillaume Chatelet libc_function_deps = [ 191d856e5feSGuillaume Chatelet "//libc:memcmp", 192d856e5feSGuillaume Chatelet ], 193b3c696fbSGuillaume Chatelet deps = [ 194b3c696fbSGuillaume Chatelet ":memory_check_utils", 195b3c696fbSGuillaume Chatelet "//libc/test/UnitTest:test_logger", 196b3c696fbSGuillaume Chatelet ], 197d856e5feSGuillaume Chatelet) 198