blob: 861ce5d6554112c6b57b547f976f2ff7b0d7a0c2 [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 ],
328)
329
330cc_test(
331 name = "googletest_gtest_pred_impl_unittest",
332 srcs = [
333 "googletest/test/gtest_pred_impl_unittest.cc",
334 ],
335 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400336 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400337 ],
338)
339
340cc_test(
341 name = "googletest_gtest_prod_test",
342 srcs = [
343 "googletest/test/gtest_prod_test.cc",
344 ],
345 includes = [
346 "googletest",
347 "googletest/include",
348 ],
349 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400350 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400351 ":gtest_production",
352 ],
353)
354
355cc_test(
356 name = "googletest_gtest_test_part_test",
357 srcs = [
358 "googletest/test/gtest-test-part_test.cc",
359 ],
360 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400361 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400362 ],
363)
364
365cc_test(
366 name = "googletest_gtest_typed_test_test",
367 srcs = [
368 "googletest/test/gtest-typed-test_test.cc",
369 ],
370 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400371 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400372 ],
373)
374
375cc_test(
376 name = "googletest_gtest_typed_test2_test",
377 srcs = [
378 "googletest/test/gtest-typed-test2_test.cc",
379 ],
380 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400381 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400382 ],
383)
384
385cc_test(
386 name = "googletest_gtest_unittest",
387 srcs = [
388 "googletest/test/gtest_unittest.cc",
389 ],
390 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400391 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400392 ],
393)
394
395cc_test(
396 name = "googletest_gtest_production_test",
397 srcs = [
398 "googletest/test/production.cc",
399 ],
400 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400401 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400402 ],
403)
404
405""" Tests on the googlemock library itself."""
406cc_test(
407 name = "googlemock_gmock_actions_test",
408 srcs = [
409 "googlemock/test/gmock-actions_test.cc",
410 ],
411 copts = [
412 "-std=c++11",
413 ],
414 deps = [
415 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400416 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400417 ],
418)
419
420cc_test(
421 name = "googlemock_gmock_cardinalities_test",
422 srcs = [
423 "googlemock/test/gmock-cardinalities_test.cc",
424 ],
425 deps = [
426 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400427 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400428 ],
429)
430
Brian Silvermanf1cff392015-10-11 19:36:18 -0400431'''
Brian Silvermanedf79a92015-09-12 14:50:16 -0400432cc_test(
433 name = "googlemock_gmock_ex_test",
434 srcs = [
435 "googlemock/test/gmock_ex_test.cc",
436 ],
437 deps = [
438 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400439 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400440 ],
441)
Brian Silvermanf1cff392015-10-11 19:36:18 -0400442'''
Brian Silvermanedf79a92015-09-12 14:50:16 -0400443
444cc_test(
445 name = "googlemock_gmock_generated_actions_test",
446 srcs = [
447 "googlemock/test/gmock-generated-actions_test.cc",
448 ],
449 deps = [
450 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400451 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400452 ],
453)
454
455cc_test(
456 name = "googlemock_gmock-generated_function_mockers_test",
457 srcs = [
458 "googlemock/test/gmock-generated-function-mockers_test.cc",
459 ],
460 deps = [
461 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400462 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400463 ],
464)
465
466cc_test(
467 name = "googlemock_gmock-generated_internal_utils_test",
468 srcs = [
469 "googlemock/test/gmock-generated-internal-utils_test.cc",
470 ],
471 deps = [
472 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400473 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400474 ],
475)
476
477cc_test(
478 name = "googlemock_gmock-generated_matchers_test",
479 srcs = [
480 "googlemock/test/gmock-generated-matchers_test.cc",
481 ],
482 deps = [
483 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400484 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400485 ],
Brian Silvermanf1cff392015-10-11 19:36:18 -0400486 copts = [
487 "-Wno-unused-parameter",
488 ],
Brian Silvermanedf79a92015-09-12 14:50:16 -0400489)
490
491cc_test(
492 name = "googlemock_gmock_internal_utils_test",
493 srcs = [
494 "googlemock/test/gmock-internal-utils_test.cc",
495 ],
496 deps = [
497 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400498 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400499 ],
500)
501
502"""
503This test currently runs through the python component and fails on its own.
504cc_test(
505 name = "googlemock_gmock_leak_test",
506 srcs = [
507 "googlemock/test/gmock_leak_test_.cc",
508 ],
509 deps = [
510 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400511 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400512 ],
513)"""
514
515cc_test(
516 name = "googlemock_gmock_link_test",
517 srcs = [
518 "googlemock/test/gmock_link_test.h",
519 "googlemock/test/gmock_link_test.cc",
520 ],
521 deps = [
522 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400523 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400524 ],
525)
526
527cc_test(
528 name = "googlemock_gmock_link2_test",
529 srcs = [
530 "googlemock/test/gmock_link2_test.cc",
531 ],
532 deps = [
533 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400534 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400535 ],
536)
537
538cc_test(
539 name = "googlemock_gmock_matchers_test",
540 srcs = [
541 "googlemock/test/gmock-matchers_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 ],
Brian Silvermanf1cff392015-10-11 19:36:18 -0400547 copts = [
548 "-Wno-unused-parameter",
549 ],
Brian Silvermanedf79a92015-09-12 14:50:16 -0400550)
551
552cc_test(
553 name = "googlemock_gmock_more_actions_test",
554 srcs = [
555 "googlemock/test/gmock-more-actions_test.cc",
556 ],
557 deps = [
558 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400559 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400560 ],
561)
562
563cc_test(
564 name = "googlemock_gmock_nice_strict_test",
565 srcs = [
566 "googlemock/test/gmock-nice-strict_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
574"""
575This test is currently run through the python component and fails on its own.
576cc_test(
577 name = "googlemock_gmock_output_test",
578 srcs = [
579 "googlemock/test/gmock_output_test_.cc",
580 ],
581 deps = [
582 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400583 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400584 ],
585)"""
586
587cc_test(
588 name = "googlemock_gmock_port_test",
589 srcs = [
590 "googlemock/test/gmock-port_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_spec_builders_test",
600 srcs = [
601 "googlemock/test/gmock-spec-builders_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_stress_test",
611 srcs = [
612 "googlemock/test/gmock_stress_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_test",
622 srcs = [
623 "googlemock/test/gmock_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)