blob: 0eb47fd2ee1ebb912e28093f2a2f4ee4035c0d4f [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",
13 srcs = glob([
14 "googletest/src/gtest.cc",
15 "googletest/src/gtest-death-test.cc",
16 "googletest/src/gtest-filepath.cc",
17 "googletest/src/gtest-internal-inl.h",
18 "googletest/src/gtest-port.cc",
19 "googletest/src/gtest-printers.cc",
20 "googletest/src/gtest-test-part.cc",
21 "googletest/src/gtest-typed-test.cc",
22 "googletest/include/gtest/internal/*.h",
23 "googletest/include/gtest/internal/custom/*.h",
24 ]),
25 hdrs = glob([
26 "googletest/include/gtest/*.h"
27 ]),
28 includes = [
29 "googletest",
30 "googletest/include",
31 ],
32 copts = [
33 "-g",
34 "-Wall",
35 "-Wextra",
36 ],
37 linkopts = [
38 "-pthread",
39 ],
40)
41
42cc_library(
43 name = "googlemock",
44 srcs = glob([
45 "googlemock/src/gmock-cardinalities.cc",
46 "googlemock/src/gmock.cc",
47 "googlemock/src/gmock-internal-utils.cc",
48 "googlemock/src/gmock_main.cc",
49 "googlemock/src/gmock-matchers.cc",
50 "googlemock/src/gmock-spec-builders.cc",
51 "googlemock/include/gmock/internal/*.h",
52 "googlemock/include/gmock/internal/custom/*.h",
53 ]),
54 hdrs = glob([
55 "googlemock/include/gmock/*.h"
56 ]),
57 includes = [
58 "googletest/include",
59 "googlemock",
60 "googlemock/include",
61 ],
62 copts = [
63 "-std=c++11",
64 "-g",
65 "-Wall",
66 "-Wextra",
67 ],
68 linkopts = [
69 "-pthread",
70 ],
71 deps = [
72 ":googletest",
73 ],
74)
75
76cc_library(
77 name = "googletest_sample_libs",
78 hdrs = [
79 "googletest/samples/prime_tables.h",
80 "googletest/samples/sample1.h",
81 "googletest/samples/sample2.h",
82 "googletest/samples/sample3-inl.h",
83 "googletest/samples/sample4.h",
84 ],
85 srcs = [
86 "googletest/samples/sample1.cc",
87 "googletest/samples/sample2.cc",
88 "googletest/samples/sample4.cc",
89 ],
90)
91
92test_suite(
93 name = "googletest_example_tests",
94 tests = [
95 ":googletest_sample1_test",
96 ":googletest_sample2_test",
97 ":googletest_sample3_test",
98 ":googletest_sample4_test",
99 ":googletest_sample5_test",
100 ":googletest_sample6_test",
101 ":googletest_sample7_test",
102 ":googletest_sample8_test",
103 ":googletest_sample9_test",
104 ":googletest_sample10_test",
105 ],
106)
107
108test_suite(
109 name = "googletest_tests",
110 tests = [
111 ":googletest_gtest_filepath_test",
112 ":googletest_gtest_linked_ptr_test",
113 ":googletest_gtest_message_test",
114 # The gtest_options_test fails when run as a test suite since it
115 # uses a hard-coded binary name.
116 # ":googletest_gtest_options_test",
117 ":googletest_gtest_port_test",
118 ":googletest_gtest_pred_impl_unittest",
119 ":googletest_gtest_prod_test",
120 ":googletest_gtest_test_part_test",
121 ":googletest_gtest_typed_test_test",
122 ":googletest_gtest_typed_test2_test",
123 ":googletest_gtest_unittest",
124 ":googletest_gtest_production_test",
125 ],
126)
127
128test_suite(
129 name = "googlemock_tests",
130 tests = [
131 ":googlemock_gmock_actions_test",
132 ":googlemock_gmock_cardinalities_test",
133 ":googlemock_gmock_ex_test",
134 ":googlemock_gmock_generated_actions_test",
135 ":googlemock_gmock-generated_function_mockers_test",
136 ":googlemock_gmock-generated_internal_utils_test",
137 ":googlemock_gmock-generated_matchers_test",
138 ":googlemock_gmock_internal_utils_test",
139 # ":googlemock_gmock_leak_test",
140 ":googlemock_gmock_link_test",
141 ":googlemock_gmock_link2_test",
142 ":googlemock_gmock_matchers_test",
143 ":googlemock_gmock_more_actions_test",
144 ":googlemock_gmock_nice_strict_test",
145 # ":googlemock_gmock_output_test",
146 ":googlemock_gmock_port_test",
147 ":googlemock_gmock_spec_builders_test",
148 ":googlemock_gmock_stress_test",
149 ":googlemock_gmock_test",
150 ],
151)
152
153cc_test(
154 name = "googletest_sample1_test",
155 srcs = ["googletest/samples/sample1_unittest.cc"],
156 deps = [
157 ":googletest_sample_libs",
158 ":googletest",
159 ],
160)
161
162cc_test(
163 name = "googletest_sample2_test",
164 srcs = ["googletest/samples/sample2_unittest.cc"],
165 deps = [
166 ":googletest",
167 ":googletest_sample_libs",
168 ],
169)
170
171cc_test(
172 name = "googletest_sample3_test",
173 srcs = ["googletest/samples/sample3_unittest.cc"],
174 deps = [
175 ":googletest",
176 ":googletest_sample_libs",
177 ],
178)
179
180cc_test(
181 name = "googletest_sample4_test",
182 srcs = ["googletest/samples/sample4_unittest.cc"],
183 deps = [
184 ":googletest",
185 ":googletest_sample_libs",
186 ],
187)
188
189cc_test(
190 name = "googletest_sample5_test",
191 srcs = ["googletest/samples/sample5_unittest.cc"],
192 deps = [
193 ":googletest",
194 ":googletest_sample_libs",
195 ],
196)
197
198cc_test(
199 name = "googletest_sample6_test",
200 srcs = ["googletest/samples/sample6_unittest.cc"],
201 deps = [
202 ":googletest",
203 ":googletest_sample_libs",
204 ],
205)
206
207cc_test(
208 name = "googletest_sample7_test",
209 srcs = ["googletest/samples/sample7_unittest.cc"],
210 deps = [
211 ":googletest",
212 ":googletest_sample_libs",
213 ],
214)
215
216cc_test(
217 name = "googletest_sample8_test",
218 srcs = ["googletest/samples/sample8_unittest.cc"],
219 deps = [
220 ":googletest",
221 ":googletest_sample_libs",
222 ],
223)
224
225cc_test(
226 name = "googletest_sample9_test",
227 srcs = ["googletest/samples/sample9_unittest.cc"],
228 deps = [
229 ":googletest",
230 ":googletest_sample_libs",
231 ],
232)
233
234cc_test(
235 name = "googletest_sample10_test",
236 srcs = ["googletest/samples/sample10_unittest.cc"],
237 deps = [
238 ":googletest",
239 ":googletest_sample_libs",
240 ],
241)
242
243""" Tests on the googletest library itself."""
244cc_library(
245 name = "gtest_production",
246 hdrs = [
247 "googletest/test/production.h",
248 ],
249 srcs = [
250 "googletest/test/production.cc",
251 ],
252 deps = [
253 ":googletest",
254 ],
255)
256
257cc_test(
258 name = "googletest_gtest_filepath_test",
259 srcs = [
260 "googletest/test/gtest-filepath_test.cc",
261 ],
262 deps = [
263 ":googletest",
264 ],
265)
266
267cc_test(
268 name = "googletest_gtest_linked_ptr_test",
269 srcs = [
270 "googletest/test/gtest-linked_ptr_test.cc",
271 ],
272 deps = [
273 ":googletest",
274 ],
275)
276
277cc_test(
278 name = "googletest_gtest_message_test",
279 srcs = [
280 "googletest/test/gtest-message_test.cc",
281 ],
282 deps = [
283 ":googletest",
284 ],
285)
286
287"""
288This test currently fails based on how the test itself checks for the running executable
289name.
290
291cc_test(
292 name = "googletest_gtest_options_test",
293 srcs = [
294 "googletest/test/gtest-options_test.cc",
295 ],
296 deps = [
297 ":googletest",
298 ],
299)"""
300
301cc_test(
302 name = "googletest_gtest_port_test",
303 srcs = [
304 "googletest/test/gtest-port_test.cc",
305 ],
306 deps = [
307 ":googletest",
308 ],
309)
310
311cc_test(
312 name = "googletest_gtest_pred_impl_unittest",
313 srcs = [
314 "googletest/test/gtest_pred_impl_unittest.cc",
315 ],
316 deps = [
317 ":googletest",
318 ],
319)
320
321cc_test(
322 name = "googletest_gtest_prod_test",
323 srcs = [
324 "googletest/test/gtest_prod_test.cc",
325 ],
326 includes = [
327 "googletest",
328 "googletest/include",
329 ],
330 deps = [
331 ":googletest",
332 ":gtest_production",
333 ],
334)
335
336cc_test(
337 name = "googletest_gtest_test_part_test",
338 srcs = [
339 "googletest/test/gtest-test-part_test.cc",
340 ],
341 deps = [
342 ":googletest",
343 ],
344)
345
346cc_test(
347 name = "googletest_gtest_typed_test_test",
348 srcs = [
349 "googletest/test/gtest-typed-test_test.cc",
350 ],
351 deps = [
352 ":googletest",
353 ],
354)
355
356cc_test(
357 name = "googletest_gtest_typed_test2_test",
358 srcs = [
359 "googletest/test/gtest-typed-test2_test.cc",
360 ],
361 deps = [
362 ":googletest",
363 ],
364)
365
366cc_test(
367 name = "googletest_gtest_unittest",
368 srcs = [
369 "googletest/test/gtest_unittest.cc",
370 ],
371 deps = [
372 ":googletest",
373 ],
374)
375
376cc_test(
377 name = "googletest_gtest_production_test",
378 srcs = [
379 "googletest/test/production.cc",
380 ],
381 deps = [
382 ":googletest",
383 ],
384)
385
386""" Tests on the googlemock library itself."""
387cc_test(
388 name = "googlemock_gmock_actions_test",
389 srcs = [
390 "googlemock/test/gmock-actions_test.cc",
391 ],
392 copts = [
393 "-std=c++11",
394 ],
395 deps = [
396 ":googlemock",
397 ":googletest",
398 ],
399)
400
401cc_test(
402 name = "googlemock_gmock_cardinalities_test",
403 srcs = [
404 "googlemock/test/gmock-cardinalities_test.cc",
405 ],
406 deps = [
407 ":googlemock",
408 ":googletest",
409 ],
410)
411
412cc_test(
413 name = "googlemock_gmock_ex_test",
414 srcs = [
415 "googlemock/test/gmock_ex_test.cc",
416 ],
417 deps = [
418 ":googlemock",
419 ":googletest",
420 ],
421)
422
423cc_test(
424 name = "googlemock_gmock_generated_actions_test",
425 srcs = [
426 "googlemock/test/gmock-generated-actions_test.cc",
427 ],
428 deps = [
429 ":googlemock",
430 ":googletest",
431 ],
432)
433
434cc_test(
435 name = "googlemock_gmock-generated_function_mockers_test",
436 srcs = [
437 "googlemock/test/gmock-generated-function-mockers_test.cc",
438 ],
439 deps = [
440 ":googlemock",
441 ":googletest",
442 ],
443)
444
445cc_test(
446 name = "googlemock_gmock-generated_internal_utils_test",
447 srcs = [
448 "googlemock/test/gmock-generated-internal-utils_test.cc",
449 ],
450 deps = [
451 ":googlemock",
452 ":googletest",
453 ],
454)
455
456cc_test(
457 name = "googlemock_gmock-generated_matchers_test",
458 srcs = [
459 "googlemock/test/gmock-generated-matchers_test.cc",
460 ],
461 deps = [
462 ":googlemock",
463 ":googletest",
464 ],
465)
466
467cc_test(
468 name = "googlemock_gmock_internal_utils_test",
469 srcs = [
470 "googlemock/test/gmock-internal-utils_test.cc",
471 ],
472 deps = [
473 ":googlemock",
474 ":googletest",
475 ],
476)
477
478"""
479This test currently runs through the python component and fails on its own.
480cc_test(
481 name = "googlemock_gmock_leak_test",
482 srcs = [
483 "googlemock/test/gmock_leak_test_.cc",
484 ],
485 deps = [
486 ":googlemock",
487 ":googletest",
488 ],
489)"""
490
491cc_test(
492 name = "googlemock_gmock_link_test",
493 srcs = [
494 "googlemock/test/gmock_link_test.h",
495 "googlemock/test/gmock_link_test.cc",
496 ],
497 deps = [
498 ":googlemock",
499 ":googletest",
500 ],
501)
502
503cc_test(
504 name = "googlemock_gmock_link2_test",
505 srcs = [
506 "googlemock/test/gmock_link2_test.cc",
507 ],
508 deps = [
509 ":googlemock",
510 ":googletest",
511 ],
512)
513
514cc_test(
515 name = "googlemock_gmock_matchers_test",
516 srcs = [
517 "googlemock/test/gmock-matchers_test.cc",
518 ],
519 deps = [
520 ":googlemock",
521 ":googletest",
522 ],
523)
524
525cc_test(
526 name = "googlemock_gmock_more_actions_test",
527 srcs = [
528 "googlemock/test/gmock-more-actions_test.cc",
529 ],
530 deps = [
531 ":googlemock",
532 ":googletest",
533 ],
534)
535
536cc_test(
537 name = "googlemock_gmock_nice_strict_test",
538 srcs = [
539 "googlemock/test/gmock-nice-strict_test.cc",
540 ],
541 deps = [
542 ":googlemock",
543 ":googletest",
544 ],
545)
546
547"""
548This test is currently run through the python component and fails on its own.
549cc_test(
550 name = "googlemock_gmock_output_test",
551 srcs = [
552 "googlemock/test/gmock_output_test_.cc",
553 ],
554 deps = [
555 ":googlemock",
556 ":googletest",
557 ],
558)"""
559
560cc_test(
561 name = "googlemock_gmock_port_test",
562 srcs = [
563 "googlemock/test/gmock-port_test.cc",
564 ],
565 deps = [
566 ":googlemock",
567 ":googletest",
568 ],
569)
570
571cc_test(
572 name = "googlemock_gmock_spec_builders_test",
573 srcs = [
574 "googlemock/test/gmock-spec-builders_test.cc",
575 ],
576 deps = [
577 ":googlemock",
578 ":googletest",
579 ],
580)
581
582cc_test(
583 name = "googlemock_gmock_stress_test",
584 srcs = [
585 "googlemock/test/gmock_stress_test.cc",
586 ],
587 deps = [
588 ":googlemock",
589 ":googletest",
590 ],
591)
592
593cc_test(
594 name = "googlemock_gmock_test",
595 srcs = [
596 "googlemock/test/gmock_test.cc",
597 ],
598 deps = [
599 ":googlemock",
600 ":googletest",
601 ],
602)