blob: b76b35b04cbd423298a8ca7e5bf4403781de9222 [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 = [
371 "googletest/test/gtest-typed-test_test.cc",
372 ],
373 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400374 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400375 ],
376)
377
378cc_test(
379 name = "googletest_gtest_typed_test2_test",
380 srcs = [
381 "googletest/test/gtest-typed-test2_test.cc",
382 ],
383 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400384 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400385 ],
386)
387
388cc_test(
389 name = "googletest_gtest_unittest",
390 srcs = [
391 "googletest/test/gtest_unittest.cc",
392 ],
393 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400394 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400395 ],
Austin Schuh23da18b2015-10-11 20:52:49 -0700396 copts = [
397 "-Wno-empty-body",
398 "-Wno-missing-field-initializers",
399 ]
Brian Silvermanedf79a92015-09-12 14:50:16 -0400400)
401
402cc_test(
403 name = "googletest_gtest_production_test",
404 srcs = [
405 "googletest/test/production.cc",
406 ],
407 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400408 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400409 ],
410)
411
412""" Tests on the googlemock library itself."""
413cc_test(
414 name = "googlemock_gmock_actions_test",
415 srcs = [
416 "googlemock/test/gmock-actions_test.cc",
417 ],
418 copts = [
419 "-std=c++11",
420 ],
421 deps = [
422 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400423 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400424 ],
425)
426
427cc_test(
428 name = "googlemock_gmock_cardinalities_test",
429 srcs = [
430 "googlemock/test/gmock-cardinalities_test.cc",
431 ],
432 deps = [
433 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400434 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400435 ],
436)
437
Brian Silvermanf1cff392015-10-11 19:36:18 -0400438'''
Brian Silvermanedf79a92015-09-12 14:50:16 -0400439cc_test(
440 name = "googlemock_gmock_ex_test",
441 srcs = [
442 "googlemock/test/gmock_ex_test.cc",
443 ],
444 deps = [
445 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400446 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400447 ],
448)
Brian Silvermanf1cff392015-10-11 19:36:18 -0400449'''
Brian Silvermanedf79a92015-09-12 14:50:16 -0400450
451cc_test(
452 name = "googlemock_gmock_generated_actions_test",
453 srcs = [
454 "googlemock/test/gmock-generated-actions_test.cc",
455 ],
456 deps = [
457 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400458 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400459 ],
460)
461
462cc_test(
463 name = "googlemock_gmock-generated_function_mockers_test",
464 srcs = [
465 "googlemock/test/gmock-generated-function-mockers_test.cc",
466 ],
467 deps = [
468 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400469 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400470 ],
471)
472
473cc_test(
474 name = "googlemock_gmock-generated_internal_utils_test",
475 srcs = [
476 "googlemock/test/gmock-generated-internal-utils_test.cc",
477 ],
478 deps = [
479 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400480 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400481 ],
482)
483
484cc_test(
485 name = "googlemock_gmock-generated_matchers_test",
486 srcs = [
487 "googlemock/test/gmock-generated-matchers_test.cc",
488 ],
489 deps = [
490 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400491 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400492 ],
Brian Silvermanf1cff392015-10-11 19:36:18 -0400493 copts = [
494 "-Wno-unused-parameter",
495 ],
Brian Silvermanedf79a92015-09-12 14:50:16 -0400496)
497
498cc_test(
499 name = "googlemock_gmock_internal_utils_test",
500 srcs = [
501 "googlemock/test/gmock-internal-utils_test.cc",
502 ],
503 deps = [
504 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400505 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400506 ],
507)
508
509"""
510This test currently runs through the python component and fails on its own.
511cc_test(
512 name = "googlemock_gmock_leak_test",
513 srcs = [
514 "googlemock/test/gmock_leak_test_.cc",
515 ],
516 deps = [
517 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400518 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400519 ],
520)"""
521
522cc_test(
523 name = "googlemock_gmock_link_test",
524 srcs = [
525 "googlemock/test/gmock_link_test.h",
526 "googlemock/test/gmock_link_test.cc",
527 ],
528 deps = [
529 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400530 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400531 ],
532)
533
534cc_test(
535 name = "googlemock_gmock_link2_test",
536 srcs = [
537 "googlemock/test/gmock_link2_test.cc",
538 ],
539 deps = [
540 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400541 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400542 ],
543)
544
545cc_test(
546 name = "googlemock_gmock_matchers_test",
547 srcs = [
548 "googlemock/test/gmock-matchers_test.cc",
549 ],
550 deps = [
551 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400552 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400553 ],
Brian Silvermanf1cff392015-10-11 19:36:18 -0400554 copts = [
555 "-Wno-unused-parameter",
556 ],
Brian Silvermanedf79a92015-09-12 14:50:16 -0400557)
558
559cc_test(
560 name = "googlemock_gmock_more_actions_test",
561 srcs = [
562 "googlemock/test/gmock-more-actions_test.cc",
563 ],
564 deps = [
565 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400566 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400567 ],
568)
569
570cc_test(
571 name = "googlemock_gmock_nice_strict_test",
572 srcs = [
573 "googlemock/test/gmock-nice-strict_test.cc",
574 ],
575 deps = [
576 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400577 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400578 ],
579)
580
581"""
582This test is currently run through the python component and fails on its own.
583cc_test(
584 name = "googlemock_gmock_output_test",
585 srcs = [
586 "googlemock/test/gmock_output_test_.cc",
587 ],
588 deps = [
589 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400590 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400591 ],
592)"""
593
594cc_test(
595 name = "googlemock_gmock_port_test",
596 srcs = [
597 "googlemock/test/gmock-port_test.cc",
598 ],
599 deps = [
600 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400601 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400602 ],
603)
604
605cc_test(
606 name = "googlemock_gmock_spec_builders_test",
607 srcs = [
608 "googlemock/test/gmock-spec-builders_test.cc",
609 ],
610 deps = [
611 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400612 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400613 ],
614)
615
616cc_test(
617 name = "googlemock_gmock_stress_test",
618 srcs = [
619 "googlemock/test/gmock_stress_test.cc",
620 ],
621 deps = [
622 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400623 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400624 ],
625)
626
627cc_test(
628 name = "googlemock_gmock_test",
629 srcs = [
630 "googlemock/test/gmock_test.cc",
631 ],
632 deps = [
633 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400634 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400635 ],
636)