blob: b577d92d753d24eeebd8c0f9eabc6d5334b3fc78 [file] [log] [blame]
mistergc2e75482017-09-19 16:54:40 -04001#
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#
nik727338b70432019-03-08 10:27:53 -05008# https://www.apache.org/licenses/LICENSE-2.0
mistergc2e75482017-09-19 16:54:40 -04009#
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#
16
17load(
Abseil Team284378a2018-12-05 12:37:41 -080018 "//absl:copts/configure_copts.bzl",
mistergc2e75482017-09-19 16:54:40 -040019 "ABSL_DEFAULT_COPTS",
Abseil Team5b65c4a2019-03-27 08:05:41 -070020 "ABSL_DEFAULT_LINKOPTS",
mistergc2e75482017-09-19 16:54:40 -040021 "ABSL_TEST_COPTS",
22)
mistergc2e75482017-09-19 16:54:40 -040023
Derek Mauro143e9832023-10-10 13:29:16 -070024package(
25 default_visibility = ["//visibility:public"],
26 features = [
Derek Mauro0ef3ef42023-10-11 07:57:33 -070027 "header_modules",
Derek Mauro143e9832023-10-10 13:29:16 -070028 "layering_check",
29 "parse_headers",
30 ],
31)
mistergc2e75482017-09-19 16:54:40 -040032
Abseil Teamfbf0fda2020-08-20 08:54:55 -070033licenses(["notice"])
mistergc2e75482017-09-19 16:54:40 -040034
35cc_library(
36 name = "time",
37 srcs = [
Abseil Teamf340f772018-10-10 12:31:37 -070038 "civil_time.cc",
mistergc2e75482017-09-19 16:54:40 -040039 "clock.cc",
40 "duration.cc",
41 "format.cc",
Abseil Team8f96be62018-08-02 10:08:43 -070042 "internal/get_current_time_chrono.inc",
mistergc2e75482017-09-19 16:54:40 -040043 "internal/get_current_time_posix.inc",
mistergc2e75482017-09-19 16:54:40 -040044 "time.cc",
45 ],
46 hdrs = [
Abseil Teamf340f772018-10-10 12:31:37 -070047 "civil_time.h",
mistergc2e75482017-09-19 16:54:40 -040048 "clock.h",
49 "time.h",
50 ],
51 copts = ABSL_DEFAULT_COPTS,
Abseil Team5b65c4a2019-03-27 08:05:41 -070052 linkopts = ABSL_DEFAULT_LINKOPTS,
mistergc2e75482017-09-19 16:54:40 -040053 deps = [
54 "//absl/base",
Gennadiy Rozental4bc75682022-10-18 02:34:29 -070055 "//absl/base:config",
mistergc2e75482017-09-19 16:54:40 -040056 "//absl/base:core_headers",
Abseil Teamd9aa92d2019-08-13 10:20:16 -070057 "//absl/base:raw_logging_internal",
mistergc2e75482017-09-19 16:54:40 -040058 "//absl/numeric:int128",
Abseil Teambd40a412018-06-18 13:18:53 -070059 "//absl/strings",
Marcel Hlopko15576092025-02-19 12:08:14 -080060 "//absl/strings:string_view",
Abseil Teamaf788262018-04-23 08:17:58 -070061 "//absl/time/internal/cctz:civil_time",
62 "//absl/time/internal/cctz:time_zone",
Gennadiy Rozental4bc75682022-10-18 02:34:29 -070063 "//absl/types:optional",
mistergc2e75482017-09-19 16:54:40 -040064 ],
65)
66
67cc_library(
68 name = "test_util",
Shahriar Rouf780bfc12024-01-31 10:07:48 -080069 testonly = True,
Abseil Teamd6fa16c2022-11-15 09:08:33 -080070 srcs = ["internal/test_util.cc"],
mistergc2e75482017-09-19 16:54:40 -040071 hdrs = ["internal/test_util.h"],
72 copts = ABSL_DEFAULT_COPTS,
Abseil Team5b65c4a2019-03-27 08:05:41 -070073 linkopts = ABSL_DEFAULT_LINKOPTS,
Abseil Team18907472022-04-25 07:07:35 -070074 visibility = ["//visibility:private"],
mistergc2e75482017-09-19 16:54:40 -040075 deps = [
76 ":time",
Abseil Team184cf252020-07-30 13:58:50 -070077 "//absl/base:config",
Abseil Teamd9aa92d2019-08-13 10:20:16 -070078 "//absl/base:raw_logging_internal",
mistergc2e75482017-09-19 16:54:40 -040079 ],
80)
81
82cc_test(
83 name = "time_test",
84 srcs = [
Abseil Teamf340f772018-10-10 12:31:37 -070085 "civil_time_test.cc",
mistergc2e75482017-09-19 16:54:40 -040086 "clock_test.cc",
87 "duration_test.cc",
88 "format_test.cc",
mistergc2e75482017-09-19 16:54:40 -040089 "time_test.cc",
90 "time_zone_test.cc",
91 ],
92 copts = ABSL_TEST_COPTS,
Abseil Team4b650752022-11-14 08:27:52 -080093 data = ["//absl/time/internal/cctz:zoneinfo"],
Abseil Team5b65c4a2019-03-27 08:05:41 -070094 linkopts = ABSL_DEFAULT_LINKOPTS,
mistergc2e75482017-09-19 16:54:40 -040095 deps = [
96 ":test_util",
97 ":time",
mistergc2e75482017-09-19 16:54:40 -040098 "//absl/base:config",
99 "//absl/base:core_headers",
Derek Mauro52fa46a2025-02-23 16:16:40 -0800100 "//absl/hash:hash_testing",
Abseil Teama4b757b2019-12-02 10:41:53 -0800101 "//absl/numeric:int128",
Abseil Team52578ed2023-03-13 17:04:58 -0700102 "//absl/strings:str_format",
Abseil Teamaf788262018-04-23 08:17:58 -0700103 "//absl/time/internal/cctz:time_zone",
Derek Mauro90a7ba62024-12-23 10:56:36 -0800104 "@googletest//:gtest",
105 "@googletest//:gtest_main",
mistergc2e75482017-09-19 16:54:40 -0400106 ],
107)
Abseil Team92020a02018-06-08 08:14:48 -0700108
109cc_test(
Gennadiy Rozental4bc75682022-10-18 02:34:29 -0700110 name = "flag_test",
111 srcs = [
112 "flag_test.cc",
113 ],
114 copts = ABSL_TEST_COPTS,
115 linkopts = ABSL_DEFAULT_LINKOPTS,
116 tags = [
117 "no_test_android_arm",
118 "no_test_android_arm64",
119 "no_test_android_x86",
120 "no_test_ios_x86_64",
Abseil Team49081b82023-01-12 13:01:02 -0800121 "no_test_lexan",
Gennadiy Rozental4bc75682022-10-18 02:34:29 -0700122 "no_test_loonix",
Gennadiy Rozental4bc75682022-10-18 02:34:29 -0700123 "no_test_wasm",
124 ],
125 deps = [
126 ":time",
127 "//absl/flags:flag",
128 "//absl/flags:reflection",
Derek Mauro90a7ba62024-12-23 10:56:36 -0800129 "@googletest//:gtest",
130 "@googletest//:gtest_main",
Gennadiy Rozental4bc75682022-10-18 02:34:29 -0700131 ],
132)
133
134cc_test(
Abseil Team92020a02018-06-08 08:14:48 -0700135 name = "time_benchmark",
136 srcs = [
Abseil Teamf340f772018-10-10 12:31:37 -0700137 "civil_time_benchmark.cc",
Abseil Team92020a02018-06-08 08:14:48 -0700138 "clock_benchmark.cc",
139 "duration_benchmark.cc",
140 "format_benchmark.cc",
141 "time_benchmark.cc",
142 ],
143 copts = ABSL_TEST_COPTS,
Abseil Team4b650752022-11-14 08:27:52 -0800144 data = ["//absl/time/internal/cctz:zoneinfo"],
Abseil Team5b65c4a2019-03-27 08:05:41 -0700145 linkopts = ABSL_DEFAULT_LINKOPTS,
Abseil Team92020a02018-06-08 08:14:48 -0700146 tags = [
147 "benchmark",
148 ],
149 deps = [
150 ":test_util",
151 ":time",
152 "//absl/base",
Abseil Teamfebc5ee2019-03-06 11:36:55 -0800153 "//absl/base:core_headers",
Abseil Team938fd0f2020-12-10 10:35:21 -0800154 "//absl/flags:flag",
Abseil Team13327de2018-11-27 14:21:25 -0800155 "//absl/hash",
Derek Mauro90a7ba62024-12-23 10:56:36 -0800156 "@google_benchmark//:benchmark_main",
Abseil Team92020a02018-06-08 08:14:48 -0700157 ],
158)