xref: /llvm-project/utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel (revision 4cceea1acc4029c1c2cee85205184387ac361ef7)
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