blob: a424c49f165a64dd90cec5c244b1d7a72cb25e21 [file] [log] [blame]
Brian Silvermanedf79a92015-09-12 14:50:16 -04001# This Package contains the necessary targets to incorporate the googletest
2# libraries into your Bazel built projects.
3#
4# The libraries are defined here rather than in their component directories
5# because googlemock has dependencies on googletest and by defining the
6# build targets here, the libraries are independent of their location in
7# a more straightforward way.
8
9licenses(["notice"])
10
11cc_library(
12 name = "googletest",
Brian Silvermand4bc13c2015-09-26 17:35:24 -040013 visibility = ["//visibility:public"],
Brian Silvermanedf79a92015-09-12 14:50:16 -040014 srcs = glob([
15 "googletest/src/gtest.cc",
16 "googletest/src/gtest-death-test.cc",
17 "googletest/src/gtest-filepath.cc",
18 "googletest/src/gtest-internal-inl.h",
19 "googletest/src/gtest-port.cc",
20 "googletest/src/gtest-printers.cc",
21 "googletest/src/gtest-test-part.cc",
22 "googletest/src/gtest-typed-test.cc",
23 "googletest/include/gtest/internal/*.h",
24 "googletest/include/gtest/internal/custom/*.h",
25 ]),
26 hdrs = glob([
27 "googletest/include/gtest/*.h"
28 ]),
29 includes = [
30 "googletest",
31 "googletest/include",
32 ],
33 copts = [
34 "-g",
35 "-Wall",
36 "-Wextra",
Brian Silvermanf1cff392015-10-11 19:36:18 -040037 "-Wno-format-nonliteral",
38 "-Wno-switch-enum",
39 "-Wno-missing-field-initializers",
Brian Silvermanedf79a92015-09-12 14:50:16 -040040 ],
41 linkopts = [
42 "-pthread",
43 ],
44)
45
46cc_library(
Brian Silvermand4bc13c2015-09-26 17:35:24 -040047 name = "googletest_main",
48 visibility = ["//visibility:public"],
49 srcs = [
50 "googletest/src/gtest_main.cc",
51 ],
52 deps = [
53 ":googletest",
54 ],
55)
56
57cc_library(
Brian Silvermanedf79a92015-09-12 14:50:16 -040058 name = "googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -040059 visibility = ["//visibility:public"],
Brian Silvermanedf79a92015-09-12 14:50:16 -040060 srcs = glob([
61 "googlemock/src/gmock-cardinalities.cc",
62 "googlemock/src/gmock.cc",
63 "googlemock/src/gmock-internal-utils.cc",
64 "googlemock/src/gmock_main.cc",
65 "googlemock/src/gmock-matchers.cc",
66 "googlemock/src/gmock-spec-builders.cc",
67 "googlemock/include/gmock/internal/*.h",
68 "googlemock/include/gmock/internal/custom/*.h",
69 ]),
70 hdrs = glob([
71 "googlemock/include/gmock/*.h"
72 ]),
73 includes = [
74 "googletest/include",
75 "googlemock",
76 "googlemock/include",
77 ],
78 copts = [
79 "-std=c++11",
80 "-g",
81 "-Wall",
82 "-Wextra",
Brian Silvermanf1cff392015-10-11 19:36:18 -040083 "-Wno-switch-enum",
84 "-Wno-missing-field-initializers",
85 "-Wno-unused-parameter",
Brian Silvermanedf79a92015-09-12 14:50:16 -040086 ],
87 linkopts = [
88 "-pthread",
89 ],
90 deps = [
91 ":googletest",
92 ],
93)
94
95cc_library(
96 name = "googletest_sample_libs",
97 hdrs = [
98 "googletest/samples/prime_tables.h",
99 "googletest/samples/sample1.h",
100 "googletest/samples/sample2.h",
101 "googletest/samples/sample3-inl.h",
102 "googletest/samples/sample4.h",
103 ],
104 srcs = [
105 "googletest/samples/sample1.cc",
106 "googletest/samples/sample2.cc",
107 "googletest/samples/sample4.cc",
108 ],
109)
110
111test_suite(
112 name = "googletest_example_tests",
113 tests = [
114 ":googletest_sample1_test",
115 ":googletest_sample2_test",
116 ":googletest_sample3_test",
117 ":googletest_sample4_test",
118 ":googletest_sample5_test",
119 ":googletest_sample6_test",
120 ":googletest_sample7_test",
121 ":googletest_sample8_test",
122 ":googletest_sample9_test",
123 ":googletest_sample10_test",
124 ],
125)
126
127test_suite(
128 name = "googletest_tests",
129 tests = [
130 ":googletest_gtest_filepath_test",
131 ":googletest_gtest_linked_ptr_test",
132 ":googletest_gtest_message_test",
133 # The gtest_options_test fails when run as a test suite since it
134 # uses a hard-coded binary name.
135 # ":googletest_gtest_options_test",
136 ":googletest_gtest_port_test",
137 ":googletest_gtest_pred_impl_unittest",
138 ":googletest_gtest_prod_test",
139 ":googletest_gtest_test_part_test",
140 ":googletest_gtest_typed_test_test",
141 ":googletest_gtest_typed_test2_test",
142 ":googletest_gtest_unittest",
143 ":googletest_gtest_production_test",
144 ],
145)
146
147test_suite(
148 name = "googlemock_tests",
149 tests = [
150 ":googlemock_gmock_actions_test",
151 ":googlemock_gmock_cardinalities_test",
Brian Silvermanf1cff392015-10-11 19:36:18 -0400152 #":googlemock_gmock_ex_test",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400153 ":googlemock_gmock_generated_actions_test",
154 ":googlemock_gmock-generated_function_mockers_test",
155 ":googlemock_gmock-generated_internal_utils_test",
156 ":googlemock_gmock-generated_matchers_test",
157 ":googlemock_gmock_internal_utils_test",
158 # ":googlemock_gmock_leak_test",
159 ":googlemock_gmock_link_test",
160 ":googlemock_gmock_link2_test",
161 ":googlemock_gmock_matchers_test",
162 ":googlemock_gmock_more_actions_test",
163 ":googlemock_gmock_nice_strict_test",
164 # ":googlemock_gmock_output_test",
165 ":googlemock_gmock_port_test",
166 ":googlemock_gmock_spec_builders_test",
167 ":googlemock_gmock_stress_test",
168 ":googlemock_gmock_test",
169 ],
170)
171
172cc_test(
173 name = "googletest_sample1_test",
174 srcs = ["googletest/samples/sample1_unittest.cc"],
175 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400176 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400177 ":googletest_sample_libs",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400178 ],
179)
180
181cc_test(
182 name = "googletest_sample2_test",
183 srcs = ["googletest/samples/sample2_unittest.cc"],
184 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400185 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400186 ":googletest_sample_libs",
187 ],
188)
189
190cc_test(
191 name = "googletest_sample3_test",
192 srcs = ["googletest/samples/sample3_unittest.cc"],
193 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400194 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400195 ":googletest_sample_libs",
196 ],
197)
198
199cc_test(
200 name = "googletest_sample4_test",
201 srcs = ["googletest/samples/sample4_unittest.cc"],
202 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400203 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400204 ":googletest_sample_libs",
205 ],
206)
207
208cc_test(
209 name = "googletest_sample5_test",
210 srcs = ["googletest/samples/sample5_unittest.cc"],
211 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400212 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400213 ":googletest_sample_libs",
214 ],
215)
216
217cc_test(
218 name = "googletest_sample6_test",
219 srcs = ["googletest/samples/sample6_unittest.cc"],
220 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400221 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400222 ":googletest_sample_libs",
223 ],
224)
225
226cc_test(
227 name = "googletest_sample7_test",
228 srcs = ["googletest/samples/sample7_unittest.cc"],
229 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400230 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400231 ":googletest_sample_libs",
232 ],
233)
234
235cc_test(
236 name = "googletest_sample8_test",
237 srcs = ["googletest/samples/sample8_unittest.cc"],
238 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400239 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400240 ":googletest_sample_libs",
241 ],
242)
243
244cc_test(
245 name = "googletest_sample9_test",
246 srcs = ["googletest/samples/sample9_unittest.cc"],
247 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400248 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400249 ":googletest_sample_libs",
250 ],
251)
252
253cc_test(
254 name = "googletest_sample10_test",
255 srcs = ["googletest/samples/sample10_unittest.cc"],
256 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400257 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400258 ":googletest_sample_libs",
259 ],
260)
261
262""" Tests on the googletest library itself."""
263cc_library(
264 name = "gtest_production",
265 hdrs = [
266 "googletest/test/production.h",
267 ],
268 srcs = [
269 "googletest/test/production.cc",
270 ],
271 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400272 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400273 ],
274)
275
276cc_test(
277 name = "googletest_gtest_filepath_test",
278 srcs = [
279 "googletest/test/gtest-filepath_test.cc",
280 ],
281 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400282 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400283 ],
284)
285
286cc_test(
287 name = "googletest_gtest_linked_ptr_test",
288 srcs = [
289 "googletest/test/gtest-linked_ptr_test.cc",
290 ],
291 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400292 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400293 ],
294)
295
296cc_test(
297 name = "googletest_gtest_message_test",
298 srcs = [
299 "googletest/test/gtest-message_test.cc",
300 ],
301 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400302 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400303 ],
304)
305
306"""
307This test currently fails based on how the test itself checks for the running executable
308name.
309
310cc_test(
311 name = "googletest_gtest_options_test",
312 srcs = [
313 "googletest/test/gtest-options_test.cc",
314 ],
315 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400316 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400317 ],
318)"""
319
320cc_test(
321 name = "googletest_gtest_port_test",
322 srcs = [
323 "googletest/test/gtest-port_test.cc",
324 ],
325 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400326 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400327 ],
Austin Schuh23da18b2015-10-11 20:52:49 -0700328 copts = [
329 "-Wno-empty-body",
330 ]
Brian Silvermanedf79a92015-09-12 14:50:16 -0400331)
332
333cc_test(
334 name = "googletest_gtest_pred_impl_unittest",
335 srcs = [
336 "googletest/test/gtest_pred_impl_unittest.cc",
337 ],
338 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400339 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400340 ],
341)
342
343cc_test(
344 name = "googletest_gtest_prod_test",
345 srcs = [
346 "googletest/test/gtest_prod_test.cc",
347 ],
348 includes = [
349 "googletest",
350 "googletest/include",
351 ],
352 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400353 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400354 ":gtest_production",
355 ],
356)
357
358cc_test(
359 name = "googletest_gtest_test_part_test",
360 srcs = [
361 "googletest/test/gtest-test-part_test.cc",
362 ],
363 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400364 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400365 ],
366)
367
368cc_test(
369 name = "googletest_gtest_typed_test_test",
370 srcs = [
Brian Silvermanb2215d02015-11-23 19:10:15 -0500371 "googletest/test/gtest-typed-test_test.h",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400372 "googletest/test/gtest-typed-test_test.cc",
373 ],
374 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400375 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400376 ],
377)
378
379cc_test(
380 name = "googletest_gtest_typed_test2_test",
381 srcs = [
Brian Silvermanb2215d02015-11-23 19:10:15 -0500382 "googletest/test/gtest-typed-test_test.h",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400383 "googletest/test/gtest-typed-test2_test.cc",
384 ],
385 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400386 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400387 ],
388)
389
390cc_test(
391 name = "googletest_gtest_unittest",
392 srcs = [
393 "googletest/test/gtest_unittest.cc",
394 ],
395 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400396 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400397 ],
Austin Schuh23da18b2015-10-11 20:52:49 -0700398 copts = [
399 "-Wno-empty-body",
400 "-Wno-missing-field-initializers",
401 ]
Brian Silvermanedf79a92015-09-12 14:50:16 -0400402)
403
404cc_test(
405 name = "googletest_gtest_production_test",
406 srcs = [
Brian Silvermanb2215d02015-11-23 19:10:15 -0500407 "googletest/test/production.h",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400408 "googletest/test/production.cc",
409 ],
410 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400411 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400412 ],
413)
414
415""" Tests on the googlemock library itself."""
416cc_test(
417 name = "googlemock_gmock_actions_test",
418 srcs = [
419 "googlemock/test/gmock-actions_test.cc",
420 ],
421 copts = [
422 "-std=c++11",
423 ],
424 deps = [
425 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400426 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400427 ],
428)
429
430cc_test(
431 name = "googlemock_gmock_cardinalities_test",
432 srcs = [
433 "googlemock/test/gmock-cardinalities_test.cc",
434 ],
435 deps = [
436 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400437 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400438 ],
439)
440
Brian Silvermanf1cff392015-10-11 19:36:18 -0400441'''
Brian Silvermanedf79a92015-09-12 14:50:16 -0400442cc_test(
443 name = "googlemock_gmock_ex_test",
444 srcs = [
445 "googlemock/test/gmock_ex_test.cc",
446 ],
447 deps = [
448 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400449 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400450 ],
451)
Brian Silvermanf1cff392015-10-11 19:36:18 -0400452'''
Brian Silvermanedf79a92015-09-12 14:50:16 -0400453
454cc_test(
455 name = "googlemock_gmock_generated_actions_test",
456 srcs = [
457 "googlemock/test/gmock-generated-actions_test.cc",
458 ],
459 deps = [
460 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400461 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400462 ],
463)
464
465cc_test(
466 name = "googlemock_gmock-generated_function_mockers_test",
467 srcs = [
468 "googlemock/test/gmock-generated-function-mockers_test.cc",
469 ],
470 deps = [
471 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400472 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400473 ],
474)
475
476cc_test(
477 name = "googlemock_gmock-generated_internal_utils_test",
478 srcs = [
479 "googlemock/test/gmock-generated-internal-utils_test.cc",
480 ],
481 deps = [
482 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400483 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400484 ],
485)
486
487cc_test(
488 name = "googlemock_gmock-generated_matchers_test",
489 srcs = [
490 "googlemock/test/gmock-generated-matchers_test.cc",
491 ],
492 deps = [
493 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400494 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400495 ],
Brian Silvermanf1cff392015-10-11 19:36:18 -0400496 copts = [
497 "-Wno-unused-parameter",
498 ],
Brian Silvermanedf79a92015-09-12 14:50:16 -0400499)
500
501cc_test(
502 name = "googlemock_gmock_internal_utils_test",
503 srcs = [
504 "googlemock/test/gmock-internal-utils_test.cc",
505 ],
506 deps = [
507 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400508 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400509 ],
510)
511
512"""
513This test currently runs through the python component and fails on its own.
514cc_test(
515 name = "googlemock_gmock_leak_test",
516 srcs = [
517 "googlemock/test/gmock_leak_test_.cc",
518 ],
519 deps = [
520 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400521 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400522 ],
523)"""
524
525cc_test(
526 name = "googlemock_gmock_link_test",
527 srcs = [
528 "googlemock/test/gmock_link_test.h",
529 "googlemock/test/gmock_link_test.cc",
530 ],
531 deps = [
532 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400533 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400534 ],
535)
536
537cc_test(
538 name = "googlemock_gmock_link2_test",
539 srcs = [
Brian Silvermanb2215d02015-11-23 19:10:15 -0500540 "googlemock/test/gmock_link_test.h",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400541 "googlemock/test/gmock_link2_test.cc",
542 ],
543 deps = [
544 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400545 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400546 ],
547)
548
549cc_test(
550 name = "googlemock_gmock_matchers_test",
551 srcs = [
552 "googlemock/test/gmock-matchers_test.cc",
553 ],
554 deps = [
555 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400556 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400557 ],
Brian Silvermanf1cff392015-10-11 19:36:18 -0400558 copts = [
559 "-Wno-unused-parameter",
560 ],
Brian Silvermanedf79a92015-09-12 14:50:16 -0400561)
562
563cc_test(
564 name = "googlemock_gmock_more_actions_test",
565 srcs = [
566 "googlemock/test/gmock-more-actions_test.cc",
567 ],
568 deps = [
569 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400570 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400571 ],
572)
573
574cc_test(
575 name = "googlemock_gmock_nice_strict_test",
576 srcs = [
577 "googlemock/test/gmock-nice-strict_test.cc",
578 ],
579 deps = [
580 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400581 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400582 ],
583)
584
585"""
586This test is currently run through the python component and fails on its own.
587cc_test(
588 name = "googlemock_gmock_output_test",
589 srcs = [
590 "googlemock/test/gmock_output_test_.cc",
591 ],
592 deps = [
593 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400594 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400595 ],
596)"""
597
598cc_test(
599 name = "googlemock_gmock_port_test",
600 srcs = [
601 "googlemock/test/gmock-port_test.cc",
602 ],
603 deps = [
604 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400605 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400606 ],
607)
608
609cc_test(
610 name = "googlemock_gmock_spec_builders_test",
611 srcs = [
612 "googlemock/test/gmock-spec-builders_test.cc",
613 ],
614 deps = [
615 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400616 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400617 ],
618)
619
620cc_test(
621 name = "googlemock_gmock_stress_test",
622 srcs = [
623 "googlemock/test/gmock_stress_test.cc",
624 ],
625 deps = [
626 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400627 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400628 ],
629)
630
631cc_test(
632 name = "googlemock_gmock_test",
633 srcs = [
634 "googlemock/test/gmock_test.cc",
635 ],
636 deps = [
637 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400638 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400639 ],
640)