BUILD.bazel 29 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234
  1. #
  2. # Copyright 2017 The Abseil Authors.
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # https://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. load(
  16. "//absl:copts/configure_copts.bzl",
  17. "ABSL_DEFAULT_COPTS",
  18. "ABSL_TEST_COPTS",
  19. )
  20. package(
  21. default_visibility = ["//visibility:public"],
  22. features = ["parse_headers"],
  23. )
  24. licenses(["notice"])
  25. cc_library(
  26. name = "strings",
  27. srcs = [
  28. "ascii.cc",
  29. "charconv.cc",
  30. "escaping.cc",
  31. "internal/charconv_bigint.cc",
  32. "internal/charconv_bigint.h",
  33. "internal/charconv_parse.cc",
  34. "internal/charconv_parse.h",
  35. "internal/memutil.cc",
  36. "internal/memutil.h",
  37. "internal/stl_type_traits.h",
  38. "internal/str_join_internal.h",
  39. "internal/str_split_internal.h",
  40. "match.cc",
  41. "numbers.cc",
  42. "str_cat.cc",
  43. "str_replace.cc",
  44. "str_split.cc",
  45. "string_view.cc",
  46. "substitute.cc",
  47. ],
  48. hdrs = [
  49. "ascii.h",
  50. "charconv.h",
  51. "escaping.h",
  52. "internal/string_constant.h",
  53. "match.h",
  54. "numbers.h",
  55. "str_cat.h",
  56. "str_join.h",
  57. "str_replace.h",
  58. "str_split.h",
  59. "string_view.h",
  60. "strip.h",
  61. "substitute.h",
  62. ],
  63. copts = ABSL_DEFAULT_COPTS,
  64. deps = [
  65. ":internal",
  66. "//absl/base",
  67. "//absl/base:config",
  68. "//absl/base:core_headers",
  69. "//absl/base:endian",
  70. "//absl/base:raw_logging_internal",
  71. "//absl/base:throw_delegate",
  72. "//absl/memory",
  73. "//absl/meta:type_traits",
  74. "//absl/numeric:bits",
  75. "//absl/numeric:int128",
  76. ],
  77. )
  78. cc_library(
  79. name = "internal",
  80. srcs = [
  81. "internal/escaping.cc",
  82. "internal/ostringstream.cc",
  83. "internal/utf8.cc",
  84. ],
  85. hdrs = [
  86. "internal/char_map.h",
  87. "internal/escaping.h",
  88. "internal/ostringstream.h",
  89. "internal/resize_uninitialized.h",
  90. "internal/utf8.h",
  91. ],
  92. copts = ABSL_DEFAULT_COPTS,
  93. deps = [
  94. "//absl/base:config",
  95. "//absl/base:core_headers",
  96. "//absl/base:endian",
  97. "//absl/base:raw_logging_internal",
  98. "//absl/meta:type_traits",
  99. ],
  100. )
  101. cc_test(
  102. name = "match_test",
  103. size = "small",
  104. srcs = ["match_test.cc"],
  105. copts = ABSL_TEST_COPTS,
  106. visibility = ["//visibility:private"],
  107. deps = [
  108. ":strings",
  109. "@com_google_googletest//:gtest_main",
  110. ],
  111. )
  112. cc_test(
  113. name = "escaping_test",
  114. size = "small",
  115. srcs = [
  116. "escaping_test.cc",
  117. "internal/escaping_test_common.h",
  118. ],
  119. copts = ABSL_TEST_COPTS,
  120. visibility = ["//visibility:private"],
  121. deps = [
  122. ":cord",
  123. ":strings",
  124. "//absl/base:core_headers",
  125. "//absl/container:fixed_array",
  126. "@com_google_googletest//:gtest_main",
  127. ],
  128. )
  129. cc_test(
  130. name = "escaping_benchmark",
  131. srcs = [
  132. "escaping_benchmark.cc",
  133. "internal/escaping_test_common.h",
  134. ],
  135. copts = ABSL_TEST_COPTS,
  136. tags = ["benchmark"],
  137. visibility = ["//visibility:private"],
  138. deps = [
  139. ":strings",
  140. "//absl/base:raw_logging_internal",
  141. "@com_github_google_benchmark//:benchmark_main",
  142. ],
  143. )
  144. cc_test(
  145. name = "ascii_test",
  146. size = "small",
  147. srcs = ["ascii_test.cc"],
  148. copts = ABSL_TEST_COPTS,
  149. visibility = ["//visibility:private"],
  150. deps = [
  151. ":strings",
  152. "//absl/base:core_headers",
  153. "@com_google_googletest//:gtest_main",
  154. ],
  155. )
  156. cc_test(
  157. name = "ascii_benchmark",
  158. srcs = ["ascii_benchmark.cc"],
  159. copts = ABSL_TEST_COPTS,
  160. tags = ["benchmark"],
  161. visibility = ["//visibility:private"],
  162. deps = [
  163. ":strings",
  164. "@com_github_google_benchmark//:benchmark_main",
  165. ],
  166. )
  167. cc_test(
  168. name = "memutil_benchmark",
  169. srcs = [
  170. "internal/memutil.h",
  171. "internal/memutil_benchmark.cc",
  172. ],
  173. copts = ABSL_TEST_COPTS,
  174. tags = ["benchmark"],
  175. visibility = ["//visibility:private"],
  176. deps = [
  177. ":strings",
  178. "//absl/base:core_headers",
  179. "@com_github_google_benchmark//:benchmark_main",
  180. ],
  181. )
  182. cc_test(
  183. name = "memutil_test",
  184. size = "small",
  185. srcs = [
  186. "internal/memutil.h",
  187. "internal/memutil_test.cc",
  188. ],
  189. copts = ABSL_TEST_COPTS,
  190. visibility = ["//visibility:private"],
  191. deps = [
  192. ":strings",
  193. "//absl/base:core_headers",
  194. "@com_google_googletest//:gtest_main",
  195. ],
  196. )
  197. cc_test(
  198. name = "utf8_test",
  199. size = "small",
  200. srcs = [
  201. "internal/utf8_test.cc",
  202. ],
  203. copts = ABSL_TEST_COPTS,
  204. visibility = ["//visibility:private"],
  205. deps = [
  206. ":internal",
  207. "//absl/base:core_headers",
  208. "@com_google_googletest//:gtest_main",
  209. ],
  210. )
  211. cc_test(
  212. name = "string_constant_test",
  213. size = "small",
  214. srcs = ["internal/string_constant_test.cc"],
  215. copts = ABSL_TEST_COPTS,
  216. visibility = ["//visibility:private"],
  217. deps = [
  218. ":strings",
  219. "//absl/meta:type_traits",
  220. "@com_google_googletest//:gtest_main",
  221. ],
  222. )
  223. cc_test(
  224. name = "string_view_benchmark",
  225. srcs = ["string_view_benchmark.cc"],
  226. copts = ABSL_TEST_COPTS,
  227. tags = ["benchmark"],
  228. visibility = ["//visibility:private"],
  229. deps = [
  230. ":strings",
  231. "//absl/base:core_headers",
  232. "//absl/base:raw_logging_internal",
  233. "@com_github_google_benchmark//:benchmark_main",
  234. ],
  235. )
  236. cc_test(
  237. name = "string_view_test",
  238. size = "small",
  239. srcs = ["string_view_test.cc"],
  240. copts = ABSL_TEST_COPTS,
  241. visibility = ["//visibility:private"],
  242. deps = [
  243. ":strings",
  244. "//absl/base:config",
  245. "//absl/base:core_headers",
  246. "//absl/base:dynamic_annotations",
  247. "@com_google_googletest//:gtest_main",
  248. ],
  249. )
  250. cc_library(
  251. name = "cord_internal",
  252. srcs = [
  253. "internal/cord_internal.cc",
  254. "internal/cord_rep_btree.cc",
  255. "internal/cord_rep_btree_navigator.cc",
  256. "internal/cord_rep_btree_reader.cc",
  257. "internal/cord_rep_consume.cc",
  258. "internal/cord_rep_ring.cc",
  259. ],
  260. hdrs = [
  261. "internal/cord_internal.h",
  262. "internal/cord_rep_btree.h",
  263. "internal/cord_rep_btree_navigator.h",
  264. "internal/cord_rep_btree_reader.h",
  265. "internal/cord_rep_consume.h",
  266. "internal/cord_rep_flat.h",
  267. "internal/cord_rep_ring.h",
  268. "internal/cord_rep_ring_reader.h",
  269. ],
  270. copts = ABSL_DEFAULT_COPTS,
  271. visibility = [
  272. "//visibility:private",
  273. ],
  274. deps = [
  275. ":strings",
  276. "//absl/base:base_internal",
  277. "//absl/base:config",
  278. "//absl/base:core_headers",
  279. "//absl/base:endian",
  280. "//absl/base:raw_logging_internal",
  281. "//absl/base:throw_delegate",
  282. "//absl/container:compressed_tuple",
  283. "//absl/container:inlined_vector",
  284. "//absl/container:layout",
  285. "//absl/functional:function_ref",
  286. "//absl/meta:type_traits",
  287. "//absl/types:span",
  288. ],
  289. )
  290. cc_test(
  291. name = "cord_internal_test",
  292. srcs = ["internal/cord_internal_test.cc"],
  293. copts = ABSL_TEST_COPTS,
  294. visibility = ["//visibility:private"],
  295. deps = [
  296. ":cord_internal",
  297. "@com_google_googletest//:gtest_main",
  298. ],
  299. )
  300. cc_test(
  301. name = "cord_rep_btree_test",
  302. size = "medium",
  303. srcs = ["internal/cord_rep_btree_test.cc"],
  304. copts = ABSL_TEST_COPTS,
  305. visibility = ["//visibility:private"],
  306. deps = [
  307. ":cord_internal",
  308. ":cord_rep_test_util",
  309. ":strings",
  310. "//absl/base:config",
  311. "//absl/base:raw_logging_internal",
  312. "//absl/cleanup",
  313. "@com_google_googletest//:gtest_main",
  314. ],
  315. )
  316. cc_test(
  317. name = "cord_rep_btree_navigator_test",
  318. size = "medium",
  319. srcs = ["internal/cord_rep_btree_navigator_test.cc"],
  320. copts = ABSL_TEST_COPTS,
  321. visibility = ["//visibility:private"],
  322. deps = [
  323. ":cord_internal",
  324. ":cord_rep_test_util",
  325. ":strings",
  326. "//absl/base:config",
  327. "//absl/base:raw_logging_internal",
  328. "@com_google_googletest//:gtest_main",
  329. ],
  330. )
  331. cc_test(
  332. name = "cord_rep_btree_reader_test",
  333. size = "medium",
  334. srcs = ["internal/cord_rep_btree_reader_test.cc"],
  335. copts = ABSL_TEST_COPTS,
  336. visibility = ["//visibility:private"],
  337. deps = [
  338. ":cord",
  339. ":cord_internal",
  340. ":cord_rep_test_util",
  341. ":strings",
  342. "//absl/base:config",
  343. "//absl/base:raw_logging_internal",
  344. "@com_google_googletest//:gtest_main",
  345. ],
  346. )
  347. cc_library(
  348. name = "cordz_update_tracker",
  349. hdrs = ["internal/cordz_update_tracker.h"],
  350. copts = ABSL_DEFAULT_COPTS,
  351. visibility = [
  352. "//absl:__subpackages__",
  353. ],
  354. deps = ["//absl/base:config"],
  355. )
  356. cc_test(
  357. name = "cordz_update_tracker_test",
  358. srcs = ["internal/cordz_update_tracker_test.cc"],
  359. deps = [
  360. ":cordz_update_tracker",
  361. "//absl/base:config",
  362. "//absl/base:core_headers",
  363. "//absl/synchronization",
  364. "@com_google_googletest//:gtest_main",
  365. ],
  366. )
  367. cc_library(
  368. name = "cord",
  369. srcs = [
  370. "cord.cc",
  371. ],
  372. hdrs = [
  373. "cord.h",
  374. ],
  375. copts = ABSL_DEFAULT_COPTS,
  376. deps = [
  377. ":cord_internal",
  378. ":cordz_functions",
  379. ":cordz_info",
  380. ":cordz_statistics",
  381. ":cordz_update_scope",
  382. ":cordz_update_tracker",
  383. ":internal",
  384. ":str_format",
  385. ":strings",
  386. "//absl/base",
  387. "//absl/base:config",
  388. "//absl/base:core_headers",
  389. "//absl/base:endian",
  390. "//absl/base:raw_logging_internal",
  391. "//absl/container:fixed_array",
  392. "//absl/container:inlined_vector",
  393. "//absl/functional:function_ref",
  394. "//absl/meta:type_traits",
  395. "//absl/types:optional",
  396. ],
  397. )
  398. cc_library(
  399. name = "cordz_handle",
  400. srcs = ["internal/cordz_handle.cc"],
  401. hdrs = ["internal/cordz_handle.h"],
  402. copts = ABSL_DEFAULT_COPTS,
  403. visibility = [
  404. "//absl:__subpackages__",
  405. ],
  406. deps = [
  407. "//absl/base",
  408. "//absl/base:config",
  409. "//absl/base:raw_logging_internal",
  410. "//absl/synchronization",
  411. ],
  412. )
  413. cc_library(
  414. name = "cordz_info",
  415. srcs = ["internal/cordz_info.cc"],
  416. hdrs = ["internal/cordz_info.h"],
  417. copts = ABSL_DEFAULT_COPTS,
  418. visibility = [
  419. "//absl:__subpackages__",
  420. ],
  421. deps = [
  422. ":cord_internal",
  423. ":cordz_functions",
  424. ":cordz_handle",
  425. ":cordz_statistics",
  426. ":cordz_update_tracker",
  427. "//absl/base",
  428. "//absl/base:config",
  429. "//absl/base:core_headers",
  430. "//absl/base:raw_logging_internal",
  431. "//absl/container:inlined_vector",
  432. "//absl/debugging:stacktrace",
  433. "//absl/synchronization",
  434. "//absl/types:span",
  435. ],
  436. )
  437. cc_library(
  438. name = "cordz_update_scope",
  439. hdrs = ["internal/cordz_update_scope.h"],
  440. copts = ABSL_DEFAULT_COPTS,
  441. visibility = [
  442. "//absl:__subpackages__",
  443. ],
  444. deps = [
  445. ":cord_internal",
  446. ":cordz_info",
  447. ":cordz_update_tracker",
  448. "//absl/base:config",
  449. "//absl/base:core_headers",
  450. ],
  451. )
  452. cc_test(
  453. name = "cordz_update_scope_test",
  454. srcs = ["internal/cordz_update_scope_test.cc"],
  455. copts = ABSL_DEFAULT_COPTS,
  456. deps = [
  457. ":cord_internal",
  458. ":cordz_info",
  459. ":cordz_test_helpers",
  460. ":cordz_update_scope",
  461. ":cordz_update_tracker",
  462. "//absl/base:config",
  463. "@com_google_googletest//:gtest_main",
  464. ],
  465. )
  466. cc_library(
  467. name = "cordz_sample_token",
  468. srcs = ["internal/cordz_sample_token.cc"],
  469. hdrs = ["internal/cordz_sample_token.h"],
  470. copts = ABSL_DEFAULT_COPTS,
  471. visibility = [
  472. "//absl:__subpackages__",
  473. ],
  474. deps = [
  475. ":cordz_handle",
  476. ":cordz_info",
  477. "//absl/base:config",
  478. ],
  479. )
  480. cc_library(
  481. name = "cordz_functions",
  482. srcs = ["internal/cordz_functions.cc"],
  483. hdrs = ["internal/cordz_functions.h"],
  484. copts = ABSL_DEFAULT_COPTS,
  485. visibility = [
  486. "//absl:__subpackages__",
  487. ],
  488. deps = [
  489. "//absl/base:config",
  490. "//absl/base:core_headers",
  491. "//absl/base:raw_logging_internal",
  492. "//absl/profiling:exponential_biased",
  493. ],
  494. )
  495. cc_library(
  496. name = "cordz_statistics",
  497. hdrs = ["internal/cordz_statistics.h"],
  498. copts = ABSL_DEFAULT_COPTS,
  499. visibility = [
  500. "//absl:__subpackages__",
  501. ],
  502. deps = [
  503. ":cordz_update_tracker",
  504. "//absl/base:config",
  505. ],
  506. )
  507. cc_test(
  508. name = "cordz_functions_test",
  509. srcs = [
  510. "internal/cordz_functions_test.cc",
  511. ],
  512. deps = [
  513. ":cordz_functions",
  514. ":cordz_test_helpers",
  515. "//absl/base:config",
  516. "@com_google_googletest//:gtest_main",
  517. ],
  518. )
  519. cc_test(
  520. name = "cordz_handle_test",
  521. srcs = [
  522. "internal/cordz_handle_test.cc",
  523. ],
  524. deps = [
  525. ":cordz_handle",
  526. "//absl/base:config",
  527. "//absl/memory",
  528. "//absl/random",
  529. "//absl/random:distributions",
  530. "//absl/synchronization",
  531. "//absl/synchronization:thread_pool",
  532. "//absl/time",
  533. "@com_google_googletest//:gtest_main",
  534. ],
  535. )
  536. cc_test(
  537. name = "cordz_info_test",
  538. srcs = [
  539. "internal/cordz_info_test.cc",
  540. ],
  541. deps = [
  542. ":cord_internal",
  543. ":cordz_handle",
  544. ":cordz_info",
  545. ":cordz_statistics",
  546. ":cordz_test_helpers",
  547. ":cordz_update_tracker",
  548. ":strings",
  549. "//absl/base:config",
  550. "//absl/debugging:stacktrace",
  551. "//absl/debugging:symbolize",
  552. "//absl/types:span",
  553. "@com_google_googletest//:gtest_main",
  554. ],
  555. )
  556. cc_test(
  557. name = "cordz_info_statistics_test",
  558. srcs = [
  559. "internal/cordz_info_statistics_test.cc",
  560. ],
  561. deps = [
  562. ":cord",
  563. ":cord_internal",
  564. ":cordz_info",
  565. ":cordz_sample_token",
  566. ":cordz_statistics",
  567. ":cordz_update_scope",
  568. ":cordz_update_tracker",
  569. "//absl/base:config",
  570. "//absl/synchronization",
  571. "//absl/synchronization:thread_pool",
  572. "@com_google_googletest//:gtest_main",
  573. ],
  574. )
  575. cc_test(
  576. name = "cordz_sample_token_test",
  577. srcs = [
  578. "internal/cordz_sample_token_test.cc",
  579. ],
  580. deps = [
  581. ":cord_internal",
  582. ":cordz_handle",
  583. ":cordz_info",
  584. ":cordz_sample_token",
  585. ":cordz_test_helpers",
  586. "//absl/base:config",
  587. "//absl/memory",
  588. "//absl/random",
  589. "//absl/synchronization",
  590. "//absl/synchronization:thread_pool",
  591. "//absl/time",
  592. "@com_google_googletest//:gtest_main",
  593. ],
  594. )
  595. cc_library(
  596. name = "cord_test_helpers",
  597. testonly = 1,
  598. hdrs = [
  599. "cord_test_helpers.h",
  600. ],
  601. copts = ABSL_DEFAULT_COPTS,
  602. deps = [
  603. ":cord",
  604. ":cord_internal",
  605. ":strings",
  606. "//absl/base:config",
  607. ],
  608. )
  609. cc_library(
  610. name = "cord_rep_test_util",
  611. testonly = 1,
  612. hdrs = ["internal/cord_rep_test_util.h"],
  613. copts = ABSL_DEFAULT_COPTS,
  614. deps = [
  615. ":cord_internal",
  616. ":strings",
  617. "//absl/base:config",
  618. "//absl/base:raw_logging_internal",
  619. ],
  620. )
  621. cc_library(
  622. name = "cordz_test_helpers",
  623. testonly = 1,
  624. hdrs = ["cordz_test_helpers.h"],
  625. copts = ABSL_DEFAULT_COPTS,
  626. deps = [
  627. ":cord",
  628. ":cord_internal",
  629. ":cordz_info",
  630. ":cordz_sample_token",
  631. ":cordz_statistics",
  632. ":cordz_update_tracker",
  633. ":strings",
  634. "//absl/base:config",
  635. "//absl/base:core_headers",
  636. "@com_google_googletest//:gtest",
  637. ],
  638. )
  639. cc_test(
  640. name = "cord_test",
  641. size = "medium",
  642. srcs = ["cord_test.cc"],
  643. copts = ABSL_TEST_COPTS,
  644. visibility = ["//visibility:private"],
  645. deps = [
  646. ":cord",
  647. ":cord_test_helpers",
  648. ":cordz_functions",
  649. ":cordz_test_helpers",
  650. ":str_format",
  651. ":strings",
  652. "//absl/base",
  653. "//absl/base:config",
  654. "//absl/base:core_headers",
  655. "//absl/base:endian",
  656. "//absl/base:raw_logging_internal",
  657. "//absl/container:fixed_array",
  658. "//absl/random",
  659. "@com_google_googletest//:gtest_main",
  660. ],
  661. )
  662. cc_test(
  663. name = "cordz_test",
  664. size = "medium",
  665. srcs = ["cordz_test.cc"],
  666. copts = ABSL_TEST_COPTS,
  667. tags = [
  668. "benchmark",
  669. "no_test_android_arm",
  670. "no_test_android_arm64",
  671. "no_test_android_x86",
  672. "no_test_darwin_x86_64",
  673. "no_test_ios_x86_64",
  674. "no_test_loonix",
  675. "no_test_msvc_x64",
  676. ],
  677. visibility = ["//visibility:private"],
  678. deps = [
  679. ":cord",
  680. ":cord_test_helpers",
  681. ":cordz_functions",
  682. ":cordz_info",
  683. ":cordz_sample_token",
  684. ":cordz_statistics",
  685. ":cordz_test_helpers",
  686. ":cordz_update_tracker",
  687. ":strings",
  688. "//absl/base:config",
  689. "//absl/base:core_headers",
  690. "//absl/base:raw_logging_internal",
  691. "@com_google_googletest//:gtest_main",
  692. ],
  693. )
  694. cc_test(
  695. name = "cord_rep_consume_test",
  696. size = "medium",
  697. srcs = ["internal/cord_rep_consume_test.cc"],
  698. copts = ABSL_TEST_COPTS,
  699. visibility = ["//visibility:private"],
  700. deps = [
  701. ":cord_internal",
  702. ":strings",
  703. "//absl/base:config",
  704. "//absl/base:core_headers",
  705. "//absl/debugging:leak_check",
  706. "@com_google_googletest//:gtest_main",
  707. ],
  708. )
  709. cc_test(
  710. name = "cord_ring_test",
  711. size = "medium",
  712. srcs = ["cord_ring_test.cc"],
  713. copts = ABSL_TEST_COPTS,
  714. visibility = ["//visibility:private"],
  715. deps = [
  716. ":cord_internal",
  717. ":strings",
  718. "//absl/base:config",
  719. "//absl/base:core_headers",
  720. "//absl/base:raw_logging_internal",
  721. "//absl/debugging:leak_check",
  722. "@com_google_googletest//:gtest_main",
  723. ],
  724. )
  725. cc_test(
  726. name = "cord_ring_reader_test",
  727. size = "medium",
  728. srcs = ["cord_ring_reader_test.cc"],
  729. copts = ABSL_TEST_COPTS,
  730. visibility = ["//visibility:private"],
  731. deps = [
  732. ":cord_internal",
  733. ":strings",
  734. "//absl/base:core_headers",
  735. "//absl/debugging:leak_check",
  736. "@com_google_googletest//:gtest_main",
  737. ],
  738. )
  739. cc_test(
  740. name = "substitute_test",
  741. size = "small",
  742. srcs = ["substitute_test.cc"],
  743. copts = ABSL_TEST_COPTS,
  744. visibility = ["//visibility:private"],
  745. deps = [
  746. ":strings",
  747. "//absl/base:core_headers",
  748. "@com_google_googletest//:gtest_main",
  749. ],
  750. )
  751. cc_test(
  752. name = "str_replace_benchmark",
  753. srcs = ["str_replace_benchmark.cc"],
  754. copts = ABSL_TEST_COPTS,
  755. tags = ["benchmark"],
  756. visibility = ["//visibility:private"],
  757. deps = [
  758. ":strings",
  759. "//absl/base:raw_logging_internal",
  760. "@com_github_google_benchmark//:benchmark_main",
  761. ],
  762. )
  763. cc_test(
  764. name = "str_replace_test",
  765. size = "small",
  766. srcs = ["str_replace_test.cc"],
  767. copts = ABSL_TEST_COPTS,
  768. visibility = ["//visibility:private"],
  769. deps = [
  770. ":strings",
  771. "@com_google_googletest//:gtest_main",
  772. ],
  773. )
  774. cc_test(
  775. name = "str_split_test",
  776. srcs = ["str_split_test.cc"],
  777. copts = ABSL_TEST_COPTS,
  778. visibility = ["//visibility:private"],
  779. deps = [
  780. ":strings",
  781. "//absl/base:core_headers",
  782. "//absl/base:dynamic_annotations",
  783. "//absl/container:btree",
  784. "//absl/container:flat_hash_map",
  785. "//absl/container:node_hash_map",
  786. "@com_google_googletest//:gtest_main",
  787. ],
  788. )
  789. cc_test(
  790. name = "str_split_benchmark",
  791. srcs = ["str_split_benchmark.cc"],
  792. copts = ABSL_TEST_COPTS,
  793. tags = ["benchmark"],
  794. visibility = ["//visibility:private"],
  795. deps = [
  796. ":strings",
  797. "//absl/base:raw_logging_internal",
  798. "@com_github_google_benchmark//:benchmark_main",
  799. ],
  800. )
  801. cc_test(
  802. name = "ostringstream_test",
  803. size = "small",
  804. srcs = ["internal/ostringstream_test.cc"],
  805. copts = ABSL_TEST_COPTS,
  806. visibility = ["//visibility:private"],
  807. deps = [
  808. ":internal",
  809. "@com_google_googletest//:gtest_main",
  810. ],
  811. )
  812. cc_test(
  813. name = "ostringstream_benchmark",
  814. srcs = ["internal/ostringstream_benchmark.cc"],
  815. copts = ABSL_TEST_COPTS,
  816. tags = ["benchmark"],
  817. visibility = ["//visibility:private"],
  818. deps = [
  819. ":internal",
  820. "@com_github_google_benchmark//:benchmark_main",
  821. ],
  822. )
  823. cc_test(
  824. name = "resize_uninitialized_test",
  825. size = "small",
  826. srcs = [
  827. "internal/resize_uninitialized.h",
  828. "internal/resize_uninitialized_test.cc",
  829. ],
  830. copts = ABSL_TEST_COPTS,
  831. visibility = ["//visibility:private"],
  832. deps = [
  833. "//absl/base:core_headers",
  834. "//absl/meta:type_traits",
  835. "@com_google_googletest//:gtest_main",
  836. ],
  837. )
  838. cc_test(
  839. name = "str_join_test",
  840. size = "small",
  841. srcs = ["str_join_test.cc"],
  842. copts = ABSL_TEST_COPTS,
  843. visibility = ["//visibility:private"],
  844. deps = [
  845. ":strings",
  846. "//absl/base:core_headers",
  847. "//absl/memory",
  848. "@com_google_googletest//:gtest_main",
  849. ],
  850. )
  851. cc_test(
  852. name = "str_join_benchmark",
  853. srcs = ["str_join_benchmark.cc"],
  854. copts = ABSL_TEST_COPTS,
  855. tags = ["benchmark"],
  856. visibility = ["//visibility:private"],
  857. deps = [
  858. ":strings",
  859. "@com_github_google_benchmark//:benchmark_main",
  860. ],
  861. )
  862. cc_test(
  863. name = "str_cat_test",
  864. size = "small",
  865. srcs = ["str_cat_test.cc"],
  866. copts = ABSL_TEST_COPTS,
  867. visibility = ["//visibility:private"],
  868. deps = [
  869. ":strings",
  870. "//absl/base:core_headers",
  871. "@com_google_googletest//:gtest_main",
  872. ],
  873. )
  874. cc_test(
  875. name = "str_cat_benchmark",
  876. srcs = ["str_cat_benchmark.cc"],
  877. copts = ABSL_TEST_COPTS,
  878. tags = ["benchmark"],
  879. visibility = ["//visibility:private"],
  880. deps = [
  881. ":strings",
  882. "@com_github_google_benchmark//:benchmark_main",
  883. ],
  884. )
  885. cc_test(
  886. name = "numbers_test",
  887. size = "medium",
  888. srcs = [
  889. "internal/numbers_test_common.h",
  890. "numbers_test.cc",
  891. ],
  892. copts = ABSL_TEST_COPTS,
  893. visibility = ["//visibility:private"],
  894. deps = [
  895. ":internal",
  896. ":pow10_helper",
  897. ":strings",
  898. "//absl/base:config",
  899. "//absl/base:raw_logging_internal",
  900. "//absl/random",
  901. "//absl/random:distributions",
  902. "@com_google_googletest//:gtest_main",
  903. ],
  904. )
  905. cc_test(
  906. name = "numbers_benchmark",
  907. srcs = ["numbers_benchmark.cc"],
  908. copts = ABSL_TEST_COPTS,
  909. tags = ["benchmark"],
  910. visibility = ["//visibility:private"],
  911. deps = [
  912. ":strings",
  913. "//absl/base:raw_logging_internal",
  914. "//absl/random",
  915. "//absl/random:distributions",
  916. "@com_github_google_benchmark//:benchmark_main",
  917. ],
  918. )
  919. cc_test(
  920. name = "strip_test",
  921. size = "small",
  922. srcs = ["strip_test.cc"],
  923. copts = ABSL_TEST_COPTS,
  924. visibility = ["//visibility:private"],
  925. deps = [
  926. ":strings",
  927. "@com_google_googletest//:gtest_main",
  928. ],
  929. )
  930. cc_test(
  931. name = "char_map_test",
  932. srcs = ["internal/char_map_test.cc"],
  933. copts = ABSL_TEST_COPTS,
  934. deps = [
  935. ":internal",
  936. "@com_google_googletest//:gtest_main",
  937. ],
  938. )
  939. cc_test(
  940. name = "char_map_benchmark",
  941. srcs = ["internal/char_map_benchmark.cc"],
  942. copts = ABSL_TEST_COPTS,
  943. tags = ["benchmark"],
  944. deps = [
  945. ":internal",
  946. "@com_github_google_benchmark//:benchmark_main",
  947. ],
  948. )
  949. cc_test(
  950. name = "charconv_test",
  951. srcs = ["charconv_test.cc"],
  952. copts = ABSL_TEST_COPTS,
  953. deps = [
  954. ":pow10_helper",
  955. ":str_format",
  956. ":strings",
  957. "@com_google_googletest//:gtest_main",
  958. ],
  959. )
  960. cc_test(
  961. name = "charconv_parse_test",
  962. srcs = [
  963. "internal/charconv_parse.h",
  964. "internal/charconv_parse_test.cc",
  965. ],
  966. copts = ABSL_TEST_COPTS,
  967. deps = [
  968. ":strings",
  969. "//absl/base:config",
  970. "//absl/base:raw_logging_internal",
  971. "@com_google_googletest//:gtest_main",
  972. ],
  973. )
  974. cc_test(
  975. name = "charconv_bigint_test",
  976. srcs = [
  977. "internal/charconv_bigint.h",
  978. "internal/charconv_bigint_test.cc",
  979. "internal/charconv_parse.h",
  980. ],
  981. copts = ABSL_TEST_COPTS,
  982. deps = [
  983. ":strings",
  984. "//absl/base:config",
  985. "@com_google_googletest//:gtest_main",
  986. ],
  987. )
  988. cc_test(
  989. name = "charconv_benchmark",
  990. srcs = [
  991. "charconv_benchmark.cc",
  992. ],
  993. tags = [
  994. "benchmark",
  995. ],
  996. deps = [
  997. ":strings",
  998. "@com_github_google_benchmark//:benchmark_main",
  999. ],
  1000. )
  1001. cc_library(
  1002. name = "str_format",
  1003. hdrs = [
  1004. "str_format.h",
  1005. ],
  1006. copts = ABSL_DEFAULT_COPTS,
  1007. deps = [
  1008. ":str_format_internal",
  1009. ],
  1010. )
  1011. cc_library(
  1012. name = "str_format_internal",
  1013. srcs = [
  1014. "internal/str_format/arg.cc",
  1015. "internal/str_format/bind.cc",
  1016. "internal/str_format/extension.cc",
  1017. "internal/str_format/float_conversion.cc",
  1018. "internal/str_format/output.cc",
  1019. "internal/str_format/parser.cc",
  1020. ],
  1021. hdrs = [
  1022. "internal/str_format/arg.h",
  1023. "internal/str_format/bind.h",
  1024. "internal/str_format/checker.h",
  1025. "internal/str_format/extension.h",
  1026. "internal/str_format/float_conversion.h",
  1027. "internal/str_format/output.h",
  1028. "internal/str_format/parser.h",
  1029. ],
  1030. copts = ABSL_DEFAULT_COPTS,
  1031. visibility = ["//visibility:private"],
  1032. deps = [
  1033. ":strings",
  1034. "//absl/base:config",
  1035. "//absl/base:core_headers",
  1036. "//absl/functional:function_ref",
  1037. "//absl/meta:type_traits",
  1038. "//absl/numeric:bits",
  1039. "//absl/numeric:int128",
  1040. "//absl/numeric:representation",
  1041. "//absl/types:optional",
  1042. "//absl/types:span",
  1043. ],
  1044. )
  1045. cc_test(
  1046. name = "str_format_test",
  1047. srcs = ["str_format_test.cc"],
  1048. copts = ABSL_TEST_COPTS,
  1049. visibility = ["//visibility:private"],
  1050. deps = [
  1051. ":cord",
  1052. ":str_format",
  1053. ":strings",
  1054. "//absl/base:core_headers",
  1055. "@com_google_googletest//:gtest_main",
  1056. ],
  1057. )
  1058. cc_test(
  1059. name = "str_format_extension_test",
  1060. srcs = [
  1061. "internal/str_format/extension_test.cc",
  1062. ],
  1063. copts = ABSL_TEST_COPTS,
  1064. visibility = ["//visibility:private"],
  1065. deps = [
  1066. ":str_format",
  1067. ":str_format_internal",
  1068. ":strings",
  1069. "@com_google_googletest//:gtest_main",
  1070. ],
  1071. )
  1072. cc_test(
  1073. name = "str_format_arg_test",
  1074. srcs = ["internal/str_format/arg_test.cc"],
  1075. copts = ABSL_TEST_COPTS,
  1076. visibility = ["//visibility:private"],
  1077. deps = [
  1078. ":str_format",
  1079. ":str_format_internal",
  1080. "@com_google_googletest//:gtest_main",
  1081. ],
  1082. )
  1083. cc_test(
  1084. name = "str_format_bind_test",
  1085. srcs = ["internal/str_format/bind_test.cc"],
  1086. copts = ABSL_TEST_COPTS,
  1087. visibility = ["//visibility:private"],
  1088. deps = [
  1089. ":str_format_internal",
  1090. "@com_google_googletest//:gtest_main",
  1091. ],
  1092. )
  1093. cc_test(
  1094. name = "str_format_checker_test",
  1095. srcs = ["internal/str_format/checker_test.cc"],
  1096. copts = ABSL_TEST_COPTS,
  1097. visibility = ["//visibility:private"],
  1098. deps = [
  1099. ":str_format",
  1100. "@com_google_googletest//:gtest_main",
  1101. ],
  1102. )
  1103. cc_test(
  1104. name = "str_format_convert_test",
  1105. size = "medium",
  1106. srcs = ["internal/str_format/convert_test.cc"],
  1107. copts = ABSL_TEST_COPTS,
  1108. visibility = ["//visibility:private"],
  1109. deps = [
  1110. ":str_format_internal",
  1111. ":strings",
  1112. "//absl/base:raw_logging_internal",
  1113. "//absl/types:optional",
  1114. "@com_google_googletest//:gtest_main",
  1115. ],
  1116. )
  1117. cc_test(
  1118. name = "str_format_output_test",
  1119. srcs = ["internal/str_format/output_test.cc"],
  1120. copts = ABSL_TEST_COPTS,
  1121. visibility = ["//visibility:private"],
  1122. deps = [
  1123. ":cord",
  1124. ":str_format_internal",
  1125. "@com_google_googletest//:gtest_main",
  1126. ],
  1127. )
  1128. cc_test(
  1129. name = "str_format_parser_test",
  1130. srcs = ["internal/str_format/parser_test.cc"],
  1131. copts = ABSL_TEST_COPTS,
  1132. visibility = ["//visibility:private"],
  1133. deps = [
  1134. ":str_format_internal",
  1135. "//absl/base:core_headers",
  1136. "@com_google_googletest//:gtest_main",
  1137. ],
  1138. )
  1139. cc_library(
  1140. name = "pow10_helper",
  1141. testonly = True,
  1142. srcs = ["internal/pow10_helper.cc"],
  1143. hdrs = ["internal/pow10_helper.h"],
  1144. visibility = ["//visibility:private"],
  1145. deps = ["//absl/base:config"],
  1146. )
  1147. cc_test(
  1148. name = "pow10_helper_test",
  1149. srcs = ["internal/pow10_helper_test.cc"],
  1150. copts = ABSL_TEST_COPTS,
  1151. visibility = ["//visibility:private"],
  1152. deps = [
  1153. ":pow10_helper",
  1154. ":str_format",
  1155. "@com_google_googletest//:gtest_main",
  1156. ],
  1157. )