Imported Upstream version 1.12.0
[platform/upstream/gtest.git] / googletest / test / BUILD.bazel
1 # Copyright 2017 Google Inc.
2 # All Rights Reserved.
3 #
4 #
5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions are
7 # met:
8 #
9 #     * Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer.
11 #     * Redistributions in binary form must reproduce the above
12 # copyright notice, this list of conditions and the following disclaimer
13 # in the documentation and/or other materials provided with the
14 # distribution.
15 #     * Neither the name of Google Inc. nor the names of its
16 # contributors may be used to endorse or promote products derived from
17 # this software without specific prior written permission.
18 #
19 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 #
31 # Bazel BUILD for The Google C++ Testing Framework (Google Test)
32
33 load("@rules_python//python:defs.bzl", "py_library", "py_test")
34
35 licenses(["notice"])
36
37 package(default_visibility = ["//:__subpackages__"])
38
39 #on windows exclude gtest-tuple.h
40 cc_test(
41     name = "gtest_all_test",
42     size = "small",
43     srcs = glob(
44         include = [
45             "gtest-*.cc",
46             "googletest-*.cc",
47             "*.h",
48             "googletest/include/gtest/**/*.h",
49         ],
50         exclude = [
51             "gtest-unittest-api_test.cc",
52             "googletest/src/gtest-all.cc",
53             "gtest_all_test.cc",
54             "gtest-death-test_ex_test.cc",
55             "gtest-listener_test.cc",
56             "gtest-unittest-api_test.cc",
57             "googletest-param-test-test.cc",
58             "googletest-param-test2-test.cc",
59             "googletest-catch-exceptions-test_.cc",
60             "googletest-color-test_.cc",
61             "googletest-env-var-test_.cc",
62             "googletest-failfast-unittest_.cc",
63             "googletest-filter-unittest_.cc",
64             "googletest-global-environment-unittest_.cc",
65             "googletest-break-on-failure-unittest_.cc",
66             "googletest-listener-test.cc",
67             "googletest-output-test_.cc",
68             "googletest-list-tests-unittest_.cc",
69             "googletest-shuffle-test_.cc",
70             "googletest-setuptestsuite-test_.cc",
71             "googletest-uninitialized-test_.cc",
72             "googletest-death-test_ex_test.cc",
73             "googletest-param-test-test",
74             "googletest-throw-on-failure-test_.cc",
75             "googletest-param-test-invalid-name1-test_.cc",
76             "googletest-param-test-invalid-name2-test_.cc",
77         ],
78     ) + select({
79         "//:windows": [],
80         "//conditions:default": [],
81     }),
82     copts = select({
83         "//:windows": ["-DGTEST_USE_OWN_TR1_TUPLE=0"],
84         "//conditions:default": ["-DGTEST_USE_OWN_TR1_TUPLE=1"],
85     }) + select({
86         # Ensure MSVC treats source files as UTF-8 encoded.
87         "//:msvc_compiler": ["-utf-8"],
88         "//conditions:default": [],
89     }),
90     includes = [
91         "googletest",
92         "googletest/include",
93         "googletest/include/internal",
94         "googletest/test",
95     ],
96     linkopts = select({
97         "//:qnx": [],
98         "//:windows": [],
99         "//conditions:default": ["-pthread"],
100     }),
101     deps = ["//:gtest_main"],
102 )
103
104 # Tests death tests.
105 cc_test(
106     name = "googletest-death-test-test",
107     size = "medium",
108     srcs = ["googletest-death-test-test.cc"],
109     deps = ["//:gtest_main"],
110 )
111
112 cc_test(
113     name = "gtest_test_macro_stack_footprint_test",
114     size = "small",
115     srcs = ["gtest_test_macro_stack_footprint_test.cc"],
116     deps = ["//:gtest"],
117 )
118
119 #These googletest tests have their own main()
120 cc_test(
121     name = "googletest-listener-test",
122     size = "small",
123     srcs = ["googletest-listener-test.cc"],
124     deps = ["//:gtest_main"],
125 )
126
127 cc_test(
128     name = "gtest-unittest-api_test",
129     size = "small",
130     srcs = [
131         "gtest-unittest-api_test.cc",
132     ],
133     deps = [
134         "//:gtest",
135     ],
136 )
137
138 cc_test(
139     name = "googletest-param-test-test",
140     size = "small",
141     srcs = [
142         "googletest-param-test-test.cc",
143         "googletest-param-test-test.h",
144         "googletest-param-test2-test.cc",
145     ],
146     deps = ["//:gtest"],
147 )
148
149 cc_test(
150     name = "gtest_unittest",
151     size = "small",
152     srcs = ["gtest_unittest.cc"],
153     shard_count = 2,
154     deps = ["//:gtest_main"],
155 )
156
157 #  Py tests
158
159 py_library(
160     name = "gtest_test_utils",
161     testonly = 1,
162     srcs = ["gtest_test_utils.py"],
163     imports = ["."],
164 )
165
166 cc_binary(
167     name = "gtest_help_test_",
168     testonly = 1,
169     srcs = ["gtest_help_test_.cc"],
170     deps = ["//:gtest_main"],
171 )
172
173 py_test(
174     name = "gtest_help_test",
175     size = "small",
176     srcs = ["gtest_help_test.py"],
177     args = select({
178         "//:has_absl": ["--has_absl_flags"],
179         "//conditions:default": [],
180     }),
181     data = [":gtest_help_test_"],
182     deps = [":gtest_test_utils"],
183 )
184
185 cc_binary(
186     name = "googletest-output-test_",
187     testonly = 1,
188     srcs = ["googletest-output-test_.cc"],
189     deps = ["//:gtest"],
190 )
191
192 py_test(
193     name = "googletest-output-test",
194     size = "small",
195     srcs = ["googletest-output-test.py"],
196     args = select({
197         "//:has_absl": [],
198         "//conditions:default": ["--no_stacktrace_support"],
199     }),
200     data = [
201         "googletest-output-test-golden-lin.txt",
202         ":googletest-output-test_",
203     ],
204     deps = [":gtest_test_utils"],
205 )
206
207 cc_binary(
208     name = "googletest-color-test_",
209     testonly = 1,
210     srcs = ["googletest-color-test_.cc"],
211     deps = ["//:gtest"],
212 )
213
214 py_test(
215     name = "googletest-color-test",
216     size = "small",
217     srcs = ["googletest-color-test.py"],
218     data = [":googletest-color-test_"],
219     deps = [":gtest_test_utils"],
220 )
221
222 cc_binary(
223     name = "googletest-env-var-test_",
224     testonly = 1,
225     srcs = ["googletest-env-var-test_.cc"],
226     deps = ["//:gtest"],
227 )
228
229 py_test(
230     name = "googletest-env-var-test",
231     size = "medium",
232     srcs = ["googletest-env-var-test.py"],
233     data = [":googletest-env-var-test_"],
234     deps = [":gtest_test_utils"],
235 )
236
237 cc_binary(
238     name = "googletest-failfast-unittest_",
239     testonly = 1,
240     srcs = ["googletest-failfast-unittest_.cc"],
241     deps = ["//:gtest"],
242 )
243
244 py_test(
245     name = "googletest-failfast-unittest",
246     size = "medium",
247     srcs = ["googletest-failfast-unittest.py"],
248     data = [":googletest-failfast-unittest_"],
249     deps = [":gtest_test_utils"],
250 )
251
252 cc_binary(
253     name = "googletest-filter-unittest_",
254     testonly = 1,
255     srcs = ["googletest-filter-unittest_.cc"],
256     deps = ["//:gtest"],
257 )
258
259 py_test(
260     name = "googletest-filter-unittest",
261     size = "medium",
262     srcs = ["googletest-filter-unittest.py"],
263     data = [":googletest-filter-unittest_"],
264     deps = [":gtest_test_utils"],
265 )
266
267 cc_binary(
268     name = "googletest-global-environment-unittest_",
269     testonly = 1,
270     srcs = ["googletest-global-environment-unittest_.cc"],
271     deps = ["//:gtest"],
272 )
273
274 py_test(
275     name = "googletest-global-environment-unittest",
276     size = "medium",
277     srcs = ["googletest-global-environment-unittest.py"],
278     data = [":googletest-global-environment-unittest_"],
279     deps = [":gtest_test_utils"],
280 )
281
282 cc_binary(
283     name = "googletest-break-on-failure-unittest_",
284     testonly = 1,
285     srcs = ["googletest-break-on-failure-unittest_.cc"],
286     deps = ["//:gtest"],
287 )
288
289 py_test(
290     name = "googletest-break-on-failure-unittest",
291     size = "small",
292     srcs = ["googletest-break-on-failure-unittest.py"],
293     data = [":googletest-break-on-failure-unittest_"],
294     deps = [":gtest_test_utils"],
295 )
296
297 cc_test(
298     name = "gtest_assert_by_exception_test",
299     size = "small",
300     srcs = ["gtest_assert_by_exception_test.cc"],
301     deps = ["//:gtest"],
302 )
303
304 cc_binary(
305     name = "googletest-throw-on-failure-test_",
306     testonly = 1,
307     srcs = ["googletest-throw-on-failure-test_.cc"],
308     deps = ["//:gtest"],
309 )
310
311 py_test(
312     name = "googletest-throw-on-failure-test",
313     size = "small",
314     srcs = ["googletest-throw-on-failure-test.py"],
315     data = [":googletest-throw-on-failure-test_"],
316     deps = [":gtest_test_utils"],
317 )
318
319 cc_binary(
320     name = "googletest-list-tests-unittest_",
321     testonly = 1,
322     srcs = ["googletest-list-tests-unittest_.cc"],
323     deps = ["//:gtest"],
324 )
325
326 cc_test(
327     name = "gtest_skip_test",
328     size = "small",
329     srcs = ["gtest_skip_test.cc"],
330     deps = ["//:gtest_main"],
331 )
332
333 cc_test(
334     name = "gtest_skip_in_environment_setup_test",
335     size = "small",
336     srcs = ["gtest_skip_in_environment_setup_test.cc"],
337     deps = ["//:gtest_main"],
338 )
339
340 py_test(
341     name = "gtest_skip_check_output_test",
342     size = "small",
343     srcs = ["gtest_skip_check_output_test.py"],
344     data = [":gtest_skip_test"],
345     deps = [":gtest_test_utils"],
346 )
347
348 py_test(
349     name = "gtest_skip_environment_check_output_test",
350     size = "small",
351     srcs = ["gtest_skip_environment_check_output_test.py"],
352     data = [
353         ":gtest_skip_in_environment_setup_test",
354     ],
355     deps = [":gtest_test_utils"],
356 )
357
358 py_test(
359     name = "googletest-list-tests-unittest",
360     size = "small",
361     srcs = ["googletest-list-tests-unittest.py"],
362     data = [":googletest-list-tests-unittest_"],
363     deps = [":gtest_test_utils"],
364 )
365
366 cc_binary(
367     name = "googletest-shuffle-test_",
368     srcs = ["googletest-shuffle-test_.cc"],
369     deps = ["//:gtest"],
370 )
371
372 py_test(
373     name = "googletest-shuffle-test",
374     size = "small",
375     srcs = ["googletest-shuffle-test.py"],
376     data = [":googletest-shuffle-test_"],
377     deps = [":gtest_test_utils"],
378 )
379
380 cc_binary(
381     name = "googletest-catch-exceptions-no-ex-test_",
382     testonly = 1,
383     srcs = ["googletest-catch-exceptions-test_.cc"],
384     deps = ["//:gtest_main"],
385 )
386
387 cc_binary(
388     name = "googletest-catch-exceptions-ex-test_",
389     testonly = 1,
390     srcs = ["googletest-catch-exceptions-test_.cc"],
391     copts = ["-fexceptions"],
392     deps = ["//:gtest_main"],
393 )
394
395 py_test(
396     name = "googletest-catch-exceptions-test",
397     size = "small",
398     srcs = ["googletest-catch-exceptions-test.py"],
399     data = [
400         ":googletest-catch-exceptions-ex-test_",
401         ":googletest-catch-exceptions-no-ex-test_",
402     ],
403     deps = [":gtest_test_utils"],
404 )
405
406 cc_binary(
407     name = "gtest_xml_output_unittest_",
408     testonly = 1,
409     srcs = ["gtest_xml_output_unittest_.cc"],
410     deps = ["//:gtest"],
411 )
412
413 cc_test(
414     name = "gtest_no_test_unittest",
415     size = "small",
416     srcs = ["gtest_no_test_unittest.cc"],
417     deps = ["//:gtest"],
418 )
419
420 py_test(
421     name = "gtest_xml_output_unittest",
422     size = "small",
423     srcs = [
424         "gtest_xml_output_unittest.py",
425         "gtest_xml_test_utils.py",
426     ],
427     args = select({
428         "//:has_absl": [],
429         "//conditions:default": ["--no_stacktrace_support"],
430     }),
431     data = [
432         # We invoke gtest_no_test_unittest to verify the XML output
433         # when the test program contains no test definition.
434         ":gtest_no_test_unittest",
435         ":gtest_xml_output_unittest_",
436     ],
437     deps = [":gtest_test_utils"],
438 )
439
440 cc_binary(
441     name = "gtest_xml_outfile1_test_",
442     testonly = 1,
443     srcs = ["gtest_xml_outfile1_test_.cc"],
444     deps = ["//:gtest_main"],
445 )
446
447 cc_binary(
448     name = "gtest_xml_outfile2_test_",
449     testonly = 1,
450     srcs = ["gtest_xml_outfile2_test_.cc"],
451     deps = ["//:gtest_main"],
452 )
453
454 py_test(
455     name = "gtest_xml_outfiles_test",
456     size = "small",
457     srcs = [
458         "gtest_xml_outfiles_test.py",
459         "gtest_xml_test_utils.py",
460     ],
461     data = [
462         ":gtest_xml_outfile1_test_",
463         ":gtest_xml_outfile2_test_",
464     ],
465     deps = [":gtest_test_utils"],
466 )
467
468 cc_binary(
469     name = "googletest-setuptestsuite-test_",
470     testonly = 1,
471     srcs = ["googletest-setuptestsuite-test_.cc"],
472     deps = ["//:gtest_main"],
473 )
474
475 py_test(
476     name = "googletest-setuptestsuite-test",
477     size = "medium",
478     srcs = ["googletest-setuptestsuite-test.py"],
479     data = [":googletest-setuptestsuite-test_"],
480     deps = [":gtest_test_utils"],
481 )
482
483 cc_binary(
484     name = "googletest-uninitialized-test_",
485     testonly = 1,
486     srcs = ["googletest-uninitialized-test_.cc"],
487     deps = ["//:gtest"],
488 )
489
490 py_test(
491     name = "googletest-uninitialized-test",
492     size = "medium",
493     srcs = ["googletest-uninitialized-test.py"],
494     data = ["googletest-uninitialized-test_"],
495     deps = [":gtest_test_utils"],
496 )
497
498 cc_binary(
499     name = "gtest_testbridge_test_",
500     testonly = 1,
501     srcs = ["gtest_testbridge_test_.cc"],
502     deps = ["//:gtest_main"],
503 )
504
505 # Tests that filtering via testbridge works
506 py_test(
507     name = "gtest_testbridge_test",
508     size = "small",
509     srcs = ["gtest_testbridge_test.py"],
510     data = [":gtest_testbridge_test_"],
511     deps = [":gtest_test_utils"],
512 )
513
514 py_test(
515     name = "googletest-json-outfiles-test",
516     size = "small",
517     srcs = [
518         "googletest-json-outfiles-test.py",
519         "gtest_json_test_utils.py",
520     ],
521     data = [
522         ":gtest_xml_outfile1_test_",
523         ":gtest_xml_outfile2_test_",
524     ],
525     deps = [":gtest_test_utils"],
526 )
527
528 py_test(
529     name = "googletest-json-output-unittest",
530     size = "medium",
531     srcs = [
532         "googletest-json-output-unittest.py",
533         "gtest_json_test_utils.py",
534     ],
535     args = select({
536         "//:has_absl": [],
537         "//conditions:default": ["--no_stacktrace_support"],
538     }),
539     data = [
540         # We invoke gtest_no_test_unittest to verify the JSON output
541         # when the test program contains no test definition.
542         ":gtest_no_test_unittest",
543         ":gtest_xml_output_unittest_",
544     ],
545     deps = [":gtest_test_utils"],
546 )
547
548 # Verifies interaction of death tests and exceptions.
549 cc_test(
550     name = "googletest-death-test_ex_catch_test",
551     size = "medium",
552     srcs = ["googletest-death-test_ex_test.cc"],
553     copts = ["-fexceptions"],
554     defines = ["GTEST_ENABLE_CATCH_EXCEPTIONS_=1"],
555     deps = ["//:gtest"],
556 )
557
558 cc_binary(
559     name = "googletest-param-test-invalid-name1-test_",
560     testonly = 1,
561     srcs = ["googletest-param-test-invalid-name1-test_.cc"],
562     deps = ["//:gtest"],
563 )
564
565 cc_binary(
566     name = "googletest-param-test-invalid-name2-test_",
567     testonly = 1,
568     srcs = ["googletest-param-test-invalid-name2-test_.cc"],
569     deps = ["//:gtest"],
570 )
571
572 py_test(
573     name = "googletest-param-test-invalid-name1-test",
574     size = "small",
575     srcs = ["googletest-param-test-invalid-name1-test.py"],
576     data = [":googletest-param-test-invalid-name1-test_"],
577     tags = [
578         "no_test_msvc2015",
579         "no_test_msvc2017",
580     ],
581     deps = [":gtest_test_utils"],
582 )
583
584 py_test(
585     name = "googletest-param-test-invalid-name2-test",
586     size = "small",
587     srcs = ["googletest-param-test-invalid-name2-test.py"],
588     data = [":googletest-param-test-invalid-name2-test_"],
589     tags = [
590         "no_test_msvc2015",
591         "no_test_msvc2017",
592     ],
593     deps = [":gtest_test_utils"],
594 )