blob: b76eece0977233fed56ee0b65fd48fc955052ec1 [file] [log] [blame]
Austin Schuh272c6132020-11-14 16:37:52 -08001load("@rules_cc//cc:defs.bzl", "cc_test")
Austin Schuha1d006e2022-09-14 21:50:42 -07002load("//:build_defs.bzl", "flatbuffer_cc_library")
Austin Schuh272c6132020-11-14 16:37:52 -08003
4package(default_visibility = ["//visibility:private"])
5
6# Test binary.
7cc_test(
8 name = "flatbuffers_test",
9 testonly = 1,
10 srcs = [
James Kuszmaul65541cb2022-11-08 14:53:47 -080011 "alignment_test.cpp",
12 "alignment_test.h",
13 "alignment_test_generated.h",
Austin Schuha1d006e2022-09-14 21:50:42 -070014 "evolution_test.cpp",
15 "evolution_test.h",
Austin Schuh272c6132020-11-14 16:37:52 -080016 "evolution_test/evolution_v1_generated.h",
17 "evolution_test/evolution_v2_generated.h",
Austin Schuha1d006e2022-09-14 21:50:42 -070018 "flexbuffers_test.cpp",
19 "flexbuffers_test.h",
20 "fuzz_test.cpp",
21 "fuzz_test.h",
22 "is_quiet_nan.h",
23 "json_test.cpp",
24 "json_test.h",
25 "monster_test.cpp",
26 "monster_test.h",
Austin Schuh272c6132020-11-14 16:37:52 -080027 "monster_test_bfbs_generated.h",
28 "namespace_test/namespace_test1_generated.h",
29 "namespace_test/namespace_test2_generated.h",
Austin Schuha1d006e2022-09-14 21:50:42 -070030 "native_inline_table_test_generated.h",
Austin Schuh272c6132020-11-14 16:37:52 -080031 "native_type_test_impl.cpp",
32 "native_type_test_impl.h",
Philipp Schraderdada1072020-11-24 11:34:46 -080033 "optional_scalars_generated.h",
Austin Schuha1d006e2022-09-14 21:50:42 -070034 "optional_scalars_test.cpp",
35 "optional_scalars_test.h",
36 "parser_test.cpp",
37 "parser_test.h",
38 "proto_test.cpp",
39 "proto_test.h",
40 "reflection_test.cpp",
41 "reflection_test.h",
Austin Schuh272c6132020-11-14 16:37:52 -080042 "test.cpp",
43 "test_assert.cpp",
44 "test_assert.h",
45 "test_builder.cpp",
46 "test_builder.h",
47 "union_vector/union_vector_generated.h",
Austin Schuha1d006e2022-09-14 21:50:42 -070048 "util_test.cpp",
49 "util_test.h",
Austin Schuh272c6132020-11-14 16:37:52 -080050 ],
51 copts = [
52 "-DFLATBUFFERS_TRACK_VERIFIER_BUFFER_SIZE",
53 "-DBAZEL_TEST_DATA_PATH",
54 ],
55 data = [
James Kuszmaul65541cb2022-11-08 14:53:47 -080056 ":alignment_test.fbs",
Austin Schuh272c6132020-11-14 16:37:52 -080057 ":arrays_test.bfbs",
58 ":arrays_test.fbs",
59 ":arrays_test.golden",
60 ":evolution_test/evolution_v1.fbs",
61 ":evolution_test/evolution_v1.json",
62 ":evolution_test/evolution_v2.fbs",
63 ":evolution_test/evolution_v2.json",
64 ":include_test/include_test1.fbs",
65 ":include_test/sub/include_test2.fbs",
66 ":monster_extra.fbs",
67 ":monster_test.bfbs",
68 ":monster_test.fbs",
69 ":monsterdata_extra.json",
70 ":monsterdata_test.golden",
71 ":monsterdata_test.json",
James Kuszmauldac091f2022-03-22 09:35:06 -070072 ":name_clash_test/invalid_test1.fbs",
73 ":name_clash_test/invalid_test2.fbs",
74 ":name_clash_test/valid_test1.fbs",
75 ":name_clash_test/valid_test2.fbs",
Austin Schuh272c6132020-11-14 16:37:52 -080076 ":native_type_test.fbs",
Philipp Schraderdada1072020-11-24 11:34:46 -080077 ":optional_scalars.fbs",
Austin Schuha1d006e2022-09-14 21:50:42 -070078 ":optional_scalars.json",
79 ":optional_scalars_defaults.json",
Austin Schuh272c6132020-11-14 16:37:52 -080080 ":prototest/imported.proto",
81 ":prototest/test.golden",
82 ":prototest/test.proto",
83 ":prototest/test_include.golden",
84 ":prototest/test_suffix.golden",
85 ":prototest/test_union.golden",
86 ":prototest/test_union_include.golden",
87 ":prototest/test_union_suffix.golden",
88 ":unicode_test.json",
89 ":union_vector/union_vector.fbs",
90 ":union_vector/union_vector.json",
Austin Schuh272c6132020-11-14 16:37:52 -080091 ],
92 includes = [
93 "",
94 "include/",
95 ],
96 deps = [
James Kuszmaul65541cb2022-11-08 14:53:47 -080097 ":alignment_test_cc_fbs",
Austin Schuh272c6132020-11-14 16:37:52 -080098 ":arrays_test_cc_fbs",
99 ":monster_extra_cc_fbs",
100 ":monster_test_cc_fbs",
101 ":native_type_test_cc_fbs",
102 "//:flatbuffers",
103 ],
104)
105
106# Test bzl rules
Austin Schuh272c6132020-11-14 16:37:52 -0800107
108cc_library(
109 name = "test_assert",
110 srcs = ["test_assert.cpp"],
111 hdrs = ["test_assert.h"],
112 visibility = ["//grpc/tests:__subpackages__"],
113 deps = ["//:flatbuffers"],
114)
115
116cc_library(
117 name = "test_builder",
118 srcs = ["test_builder.cpp"],
119 hdrs = ["test_builder.h"],
120 visibility = ["//grpc/tests:__subpackages__"],
121 deps = [
122 ":monster_test_grpc",
123 ":test_assert",
124 "//:flatbuffers",
125 ],
126)
127
128cc_library(
129 name = "monster_test_grpc",
130 srcs = [
131 "monster_test.grpc.fb.cc",
132 "monster_test.grpc.fb.h",
133 "monster_test_generated.h",
134 ],
135 hdrs = [
136 "monster_test.grpc.fb.h",
137 "monster_test_generated.h",
138 ],
139 includes = ["."],
140 visibility = ["//grpc/tests:__subpackages__"],
141 deps = [
142 "//:flatbuffers",
143 "@com_github_grpc_grpc//:grpc++",
144 ],
145)
146
147flatbuffer_cc_library(
James Kuszmauldac091f2022-03-22 09:35:06 -0700148 name = "include_test_fbs",
149 srcs = [
Austin Schuh272c6132020-11-14 16:37:52 -0800150 "include_test/include_test1.fbs",
151 "include_test/sub/include_test2.fbs",
152 ],
James Kuszmauldac091f2022-03-22 09:35:06 -0700153 include_paths = ["tests/include_test"],
154)
155
156flatbuffer_cc_library(
157 name = "monster_test_cc_fbs",
158 srcs = ["monster_test.fbs"],
159 include_paths = ["tests/include_test"],
Austin Schuh272c6132020-11-14 16:37:52 -0800160 visibility = ["//grpc/tests:__subpackages__"],
James Kuszmauldac091f2022-03-22 09:35:06 -0700161 deps = [":include_test_fbs"],
162)
163
164# Test that running without --no-includes works properly (monster_test doesn't
165# work cleanly due to the circular dependency in the include_tests/ files).
166include_test_args = [
167 "--gen-object-api",
168 "--gen-compare",
169 "--gen-mutable",
170 "--reflect-names",
171 "--cpp-ptr-type flatbuffers::unique_ptr",
172 "--force-empty",
173]
174
175flatbuffer_cc_library(
176 name = "included_test_fbs",
177 srcs = ["included_test.fbs"],
178 flatc_args = include_test_args,
179)
180
181flatbuffer_cc_library(
182 name = "includer_test_fbs",
183 srcs = ["includer_test.fbs"],
184 flatc_args = include_test_args,
185 deps = [":included_test_fbs"],
186)
187
188cc_library(
189 name = "include_build_test",
190 srcs = ["include_build_test.cc"],
191 deps = [":includer_test_fbs"],
Austin Schuh272c6132020-11-14 16:37:52 -0800192)
193
194flatbuffer_cc_library(
195 name = "monster_extra_cc_fbs",
196 srcs = ["monster_extra.fbs"],
197)
198
199flatbuffer_cc_library(
200 name = "arrays_test_cc_fbs",
201 srcs = ["arrays_test.fbs"],
202 flatc_args = [
203 "--gen-object-api",
204 "--gen-compare",
205 "--no-includes",
206 "--gen-mutable",
207 "--reflect-names",
208 "--cpp-ptr-type flatbuffers::unique_ptr",
209 "--scoped-enums",
210 ],
211)
212
213flatbuffer_cc_library(
214 name = "native_type_test_cc_fbs",
215 srcs = ["native_type_test.fbs"],
216 flatc_args = [
217 "--gen-object-api",
218 "--gen-mutable",
219 "--cpp-ptr-type flatbuffers::unique_ptr",
220 ],
221)
James Kuszmauldac091f2022-03-22 09:35:06 -0700222
223flatbuffer_ts_library(
224 name = "typescript_ts_fbs",
225 srcs = ["typescript_keywords.fbs"],
226 deps = [
227 "//tests/test_dir:include_ts_ts_fbs",
228 "//tests/test_dir:typescript_transitive_ts_ts_fbs",
229 ],
230)
James Kuszmaul65541cb2022-11-08 14:53:47 -0800231
232flatbuffer_cc_library(
233 name = "alignment_test_cc_fbs",
234 srcs = ["alignment_test.fbs"],
235)