blob: a5dd79e87afa92b7fe51832c2a798fca50a90066 [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",
37 ],
38 linkopts = [
39 "-pthread",
40 ],
41)
42
43cc_library(
Brian Silvermand4bc13c2015-09-26 17:35:24 -040044 name = "googletest_main",
45 visibility = ["//visibility:public"],
46 srcs = [
47 "googletest/src/gtest_main.cc",
48 ],
49 deps = [
50 ":googletest",
51 ],
52)
53
54cc_library(
Brian Silvermanedf79a92015-09-12 14:50:16 -040055 name = "googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -040056 visibility = ["//visibility:public"],
Brian Silvermanedf79a92015-09-12 14:50:16 -040057 srcs = glob([
58 "googlemock/src/gmock-cardinalities.cc",
59 "googlemock/src/gmock.cc",
60 "googlemock/src/gmock-internal-utils.cc",
61 "googlemock/src/gmock_main.cc",
62 "googlemock/src/gmock-matchers.cc",
63 "googlemock/src/gmock-spec-builders.cc",
64 "googlemock/include/gmock/internal/*.h",
65 "googlemock/include/gmock/internal/custom/*.h",
66 ]),
67 hdrs = glob([
68 "googlemock/include/gmock/*.h"
69 ]),
70 includes = [
71 "googletest/include",
72 "googlemock",
73 "googlemock/include",
74 ],
75 copts = [
76 "-std=c++11",
77 "-g",
78 "-Wall",
79 "-Wextra",
80 ],
81 linkopts = [
82 "-pthread",
83 ],
84 deps = [
85 ":googletest",
86 ],
87)
88
89cc_library(
90 name = "googletest_sample_libs",
91 hdrs = [
92 "googletest/samples/prime_tables.h",
93 "googletest/samples/sample1.h",
94 "googletest/samples/sample2.h",
95 "googletest/samples/sample3-inl.h",
96 "googletest/samples/sample4.h",
97 ],
98 srcs = [
99 "googletest/samples/sample1.cc",
100 "googletest/samples/sample2.cc",
101 "googletest/samples/sample4.cc",
102 ],
103)
104
105test_suite(
106 name = "googletest_example_tests",
107 tests = [
108 ":googletest_sample1_test",
109 ":googletest_sample2_test",
110 ":googletest_sample3_test",
111 ":googletest_sample4_test",
112 ":googletest_sample5_test",
113 ":googletest_sample6_test",
114 ":googletest_sample7_test",
115 ":googletest_sample8_test",
116 ":googletest_sample9_test",
117 ":googletest_sample10_test",
118 ],
119)
120
121test_suite(
122 name = "googletest_tests",
123 tests = [
124 ":googletest_gtest_filepath_test",
125 ":googletest_gtest_linked_ptr_test",
126 ":googletest_gtest_message_test",
127 # The gtest_options_test fails when run as a test suite since it
128 # uses a hard-coded binary name.
129 # ":googletest_gtest_options_test",
130 ":googletest_gtest_port_test",
131 ":googletest_gtest_pred_impl_unittest",
132 ":googletest_gtest_prod_test",
133 ":googletest_gtest_test_part_test",
134 ":googletest_gtest_typed_test_test",
135 ":googletest_gtest_typed_test2_test",
136 ":googletest_gtest_unittest",
137 ":googletest_gtest_production_test",
138 ],
139)
140
141test_suite(
142 name = "googlemock_tests",
143 tests = [
144 ":googlemock_gmock_actions_test",
145 ":googlemock_gmock_cardinalities_test",
146 ":googlemock_gmock_ex_test",
147 ":googlemock_gmock_generated_actions_test",
148 ":googlemock_gmock-generated_function_mockers_test",
149 ":googlemock_gmock-generated_internal_utils_test",
150 ":googlemock_gmock-generated_matchers_test",
151 ":googlemock_gmock_internal_utils_test",
152 # ":googlemock_gmock_leak_test",
153 ":googlemock_gmock_link_test",
154 ":googlemock_gmock_link2_test",
155 ":googlemock_gmock_matchers_test",
156 ":googlemock_gmock_more_actions_test",
157 ":googlemock_gmock_nice_strict_test",
158 # ":googlemock_gmock_output_test",
159 ":googlemock_gmock_port_test",
160 ":googlemock_gmock_spec_builders_test",
161 ":googlemock_gmock_stress_test",
162 ":googlemock_gmock_test",
163 ],
164)
165
166cc_test(
167 name = "googletest_sample1_test",
168 srcs = ["googletest/samples/sample1_unittest.cc"],
169 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400170 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400171 ":googletest_sample_libs",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400172 ],
173)
174
175cc_test(
176 name = "googletest_sample2_test",
177 srcs = ["googletest/samples/sample2_unittest.cc"],
178 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400179 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400180 ":googletest_sample_libs",
181 ],
182)
183
184cc_test(
185 name = "googletest_sample3_test",
186 srcs = ["googletest/samples/sample3_unittest.cc"],
187 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400188 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400189 ":googletest_sample_libs",
190 ],
191)
192
193cc_test(
194 name = "googletest_sample4_test",
195 srcs = ["googletest/samples/sample4_unittest.cc"],
196 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400197 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400198 ":googletest_sample_libs",
199 ],
200)
201
202cc_test(
203 name = "googletest_sample5_test",
204 srcs = ["googletest/samples/sample5_unittest.cc"],
205 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400206 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400207 ":googletest_sample_libs",
208 ],
209)
210
211cc_test(
212 name = "googletest_sample6_test",
213 srcs = ["googletest/samples/sample6_unittest.cc"],
214 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400215 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400216 ":googletest_sample_libs",
217 ],
218)
219
220cc_test(
221 name = "googletest_sample7_test",
222 srcs = ["googletest/samples/sample7_unittest.cc"],
223 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400224 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400225 ":googletest_sample_libs",
226 ],
227)
228
229cc_test(
230 name = "googletest_sample8_test",
231 srcs = ["googletest/samples/sample8_unittest.cc"],
232 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400233 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400234 ":googletest_sample_libs",
235 ],
236)
237
238cc_test(
239 name = "googletest_sample9_test",
240 srcs = ["googletest/samples/sample9_unittest.cc"],
241 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400242 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400243 ":googletest_sample_libs",
244 ],
245)
246
247cc_test(
248 name = "googletest_sample10_test",
249 srcs = ["googletest/samples/sample10_unittest.cc"],
250 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400251 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400252 ":googletest_sample_libs",
253 ],
254)
255
256""" Tests on the googletest library itself."""
257cc_library(
258 name = "gtest_production",
259 hdrs = [
260 "googletest/test/production.h",
261 ],
262 srcs = [
263 "googletest/test/production.cc",
264 ],
265 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400266 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400267 ],
268)
269
270cc_test(
271 name = "googletest_gtest_filepath_test",
272 srcs = [
273 "googletest/test/gtest-filepath_test.cc",
274 ],
275 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400276 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400277 ],
278)
279
280cc_test(
281 name = "googletest_gtest_linked_ptr_test",
282 srcs = [
283 "googletest/test/gtest-linked_ptr_test.cc",
284 ],
285 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400286 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400287 ],
288)
289
290cc_test(
291 name = "googletest_gtest_message_test",
292 srcs = [
293 "googletest/test/gtest-message_test.cc",
294 ],
295 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400296 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400297 ],
298)
299
300"""
301This test currently fails based on how the test itself checks for the running executable
302name.
303
304cc_test(
305 name = "googletest_gtest_options_test",
306 srcs = [
307 "googletest/test/gtest-options_test.cc",
308 ],
309 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400310 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400311 ],
312)"""
313
314cc_test(
315 name = "googletest_gtest_port_test",
316 srcs = [
317 "googletest/test/gtest-port_test.cc",
318 ],
319 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400320 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400321 ],
322)
323
324cc_test(
325 name = "googletest_gtest_pred_impl_unittest",
326 srcs = [
327 "googletest/test/gtest_pred_impl_unittest.cc",
328 ],
329 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400330 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400331 ],
332)
333
334cc_test(
335 name = "googletest_gtest_prod_test",
336 srcs = [
337 "googletest/test/gtest_prod_test.cc",
338 ],
339 includes = [
340 "googletest",
341 "googletest/include",
342 ],
343 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400344 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400345 ":gtest_production",
346 ],
347)
348
349cc_test(
350 name = "googletest_gtest_test_part_test",
351 srcs = [
352 "googletest/test/gtest-test-part_test.cc",
353 ],
354 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400355 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400356 ],
357)
358
359cc_test(
360 name = "googletest_gtest_typed_test_test",
361 srcs = [
362 "googletest/test/gtest-typed-test_test.cc",
363 ],
364 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400365 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400366 ],
367)
368
369cc_test(
370 name = "googletest_gtest_typed_test2_test",
371 srcs = [
372 "googletest/test/gtest-typed-test2_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_unittest",
381 srcs = [
382 "googletest/test/gtest_unittest.cc",
383 ],
384 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400385 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400386 ],
387)
388
389cc_test(
390 name = "googletest_gtest_production_test",
391 srcs = [
392 "googletest/test/production.cc",
393 ],
394 deps = [
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400395 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400396 ],
397)
398
399""" Tests on the googlemock library itself."""
400cc_test(
401 name = "googlemock_gmock_actions_test",
402 srcs = [
403 "googlemock/test/gmock-actions_test.cc",
404 ],
405 copts = [
406 "-std=c++11",
407 ],
408 deps = [
409 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400410 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400411 ],
412)
413
414cc_test(
415 name = "googlemock_gmock_cardinalities_test",
416 srcs = [
417 "googlemock/test/gmock-cardinalities_test.cc",
418 ],
419 deps = [
420 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400421 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400422 ],
423)
424
425cc_test(
426 name = "googlemock_gmock_ex_test",
427 srcs = [
428 "googlemock/test/gmock_ex_test.cc",
429 ],
430 deps = [
431 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400432 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400433 ],
434)
435
436cc_test(
437 name = "googlemock_gmock_generated_actions_test",
438 srcs = [
439 "googlemock/test/gmock-generated-actions_test.cc",
440 ],
441 deps = [
442 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400443 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400444 ],
445)
446
447cc_test(
448 name = "googlemock_gmock-generated_function_mockers_test",
449 srcs = [
450 "googlemock/test/gmock-generated-function-mockers_test.cc",
451 ],
452 deps = [
453 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400454 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400455 ],
456)
457
458cc_test(
459 name = "googlemock_gmock-generated_internal_utils_test",
460 srcs = [
461 "googlemock/test/gmock-generated-internal-utils_test.cc",
462 ],
463 deps = [
464 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400465 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400466 ],
467)
468
469cc_test(
470 name = "googlemock_gmock-generated_matchers_test",
471 srcs = [
472 "googlemock/test/gmock-generated-matchers_test.cc",
473 ],
474 deps = [
475 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400476 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400477 ],
478)
479
480cc_test(
481 name = "googlemock_gmock_internal_utils_test",
482 srcs = [
483 "googlemock/test/gmock-internal-utils_test.cc",
484 ],
485 deps = [
486 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400487 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400488 ],
489)
490
491"""
492This test currently runs through the python component and fails on its own.
493cc_test(
494 name = "googlemock_gmock_leak_test",
495 srcs = [
496 "googlemock/test/gmock_leak_test_.cc",
497 ],
498 deps = [
499 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400500 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400501 ],
502)"""
503
504cc_test(
505 name = "googlemock_gmock_link_test",
506 srcs = [
507 "googlemock/test/gmock_link_test.h",
508 "googlemock/test/gmock_link_test.cc",
509 ],
510 deps = [
511 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400512 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400513 ],
514)
515
516cc_test(
517 name = "googlemock_gmock_link2_test",
518 srcs = [
519 "googlemock/test/gmock_link2_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_matchers_test",
529 srcs = [
530 "googlemock/test/gmock-matchers_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_more_actions_test",
540 srcs = [
541 "googlemock/test/gmock-more-actions_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_nice_strict_test",
551 srcs = [
552 "googlemock/test/gmock-nice-strict_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 ],
558)
559
560"""
561This test is currently run through the python component and fails on its own.
562cc_test(
563 name = "googlemock_gmock_output_test",
564 srcs = [
565 "googlemock/test/gmock_output_test_.cc",
566 ],
567 deps = [
568 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400569 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400570 ],
571)"""
572
573cc_test(
574 name = "googlemock_gmock_port_test",
575 srcs = [
576 "googlemock/test/gmock-port_test.cc",
577 ],
578 deps = [
579 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400580 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400581 ],
582)
583
584cc_test(
585 name = "googlemock_gmock_spec_builders_test",
586 srcs = [
587 "googlemock/test/gmock-spec-builders_test.cc",
588 ],
589 deps = [
590 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400591 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400592 ],
593)
594
595cc_test(
596 name = "googlemock_gmock_stress_test",
597 srcs = [
598 "googlemock/test/gmock_stress_test.cc",
599 ],
600 deps = [
601 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400602 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400603 ],
604)
605
606cc_test(
607 name = "googlemock_gmock_test",
608 srcs = [
609 "googlemock/test/gmock_test.cc",
610 ],
611 deps = [
612 ":googlemock",
Brian Silvermand4bc13c2015-09-26 17:35:24 -0400613 ":googletest_main",
Brian Silvermanedf79a92015-09-12 14:50:16 -0400614 ],
615)