xref: /freebsd/contrib/googletest/googlemock/test/BUILD.bazel (revision 28f6c2f292806bf31230a959bc4b19d7081669a7)
1b89a7cc2SEnji Cooper# Copyright 2017 Google Inc.
2b89a7cc2SEnji Cooper# All Rights Reserved.
3b89a7cc2SEnji Cooper#
4b89a7cc2SEnji Cooper#
5b89a7cc2SEnji Cooper# Redistribution and use in source and binary forms, with or without
6b89a7cc2SEnji Cooper# modification, are permitted provided that the following conditions are
7b89a7cc2SEnji Cooper# met:
8b89a7cc2SEnji Cooper#
9b89a7cc2SEnji Cooper#     * Redistributions of source code must retain the above copyright
10b89a7cc2SEnji Cooper# notice, this list of conditions and the following disclaimer.
11b89a7cc2SEnji Cooper#     * Redistributions in binary form must reproduce the above
12b89a7cc2SEnji Cooper# copyright notice, this list of conditions and the following disclaimer
13b89a7cc2SEnji Cooper# in the documentation and/or other materials provided with the
14b89a7cc2SEnji Cooper# distribution.
15b89a7cc2SEnji Cooper#     * Neither the name of Google Inc. nor the names of its
16b89a7cc2SEnji Cooper# contributors may be used to endorse or promote products derived from
17b89a7cc2SEnji Cooper# this software without specific prior written permission.
18b89a7cc2SEnji Cooper#
19b89a7cc2SEnji Cooper# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20b89a7cc2SEnji Cooper# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21b89a7cc2SEnji Cooper# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22b89a7cc2SEnji Cooper# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23b89a7cc2SEnji Cooper# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24b89a7cc2SEnji Cooper# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25b89a7cc2SEnji Cooper# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26b89a7cc2SEnji Cooper# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27b89a7cc2SEnji Cooper# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28b89a7cc2SEnji Cooper# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29b89a7cc2SEnji Cooper# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30b89a7cc2SEnji Cooper#
31b89a7cc2SEnji Cooper#   Bazel Build for Google C++ Testing Framework(Google Test)-googlemock
32b89a7cc2SEnji Cooper
33*28f6c2f2SEnji Cooperload("@rules_python//python:defs.bzl", "py_library", "py_test")
34*28f6c2f2SEnji Cooper
35b89a7cc2SEnji Cooperlicenses(["notice"])
36b89a7cc2SEnji Cooper
37*28f6c2f2SEnji Cooper# Tests for GMock itself
38b89a7cc2SEnji Coopercc_test(
39b89a7cc2SEnji Cooper    name = "gmock_all_test",
40b89a7cc2SEnji Cooper    size = "small",
41*28f6c2f2SEnji Cooper    srcs = glob(include = ["gmock-*.cc"]) + ["gmock-matchers_test.h"],
42b89a7cc2SEnji Cooper    linkopts = select({
43*28f6c2f2SEnji Cooper        "//:qnx": [],
44b89a7cc2SEnji Cooper        "//:windows": [],
45*28f6c2f2SEnji Cooper        "//conditions:default": ["-pthread"],
46b89a7cc2SEnji Cooper    }),
47b89a7cc2SEnji Cooper    deps = ["//:gtest"],
48b89a7cc2SEnji Cooper)
49b89a7cc2SEnji Cooper
50*28f6c2f2SEnji Cooper# Python tests
51b89a7cc2SEnji Cooperpy_library(
52b89a7cc2SEnji Cooper    name = "gmock_test_utils",
53b89a7cc2SEnji Cooper    testonly = 1,
54b89a7cc2SEnji Cooper    srcs = ["gmock_test_utils.py"],
55*28f6c2f2SEnji Cooper    deps = [
56*28f6c2f2SEnji Cooper        "//googletest/test:gtest_test_utils",
57*28f6c2f2SEnji Cooper    ],
58b89a7cc2SEnji Cooper)
59b89a7cc2SEnji Cooper
60b89a7cc2SEnji Coopercc_binary(
61b89a7cc2SEnji Cooper    name = "gmock_leak_test_",
62b89a7cc2SEnji Cooper    testonly = 1,
63b89a7cc2SEnji Cooper    srcs = ["gmock_leak_test_.cc"],
64*28f6c2f2SEnji Cooper    deps = ["//:gtest_main"],
65b89a7cc2SEnji Cooper)
66b89a7cc2SEnji Cooper
67b89a7cc2SEnji Cooperpy_test(
68b89a7cc2SEnji Cooper    name = "gmock_leak_test",
69b89a7cc2SEnji Cooper    size = "medium",
70b89a7cc2SEnji Cooper    srcs = ["gmock_leak_test.py"],
71b89a7cc2SEnji Cooper    data = [
72b89a7cc2SEnji Cooper        ":gmock_leak_test_",
73b89a7cc2SEnji Cooper        ":gmock_test_utils",
74b89a7cc2SEnji Cooper    ],
75*28f6c2f2SEnji Cooper    tags = [
76*28f6c2f2SEnji Cooper        "no_test_msvc2015",
77*28f6c2f2SEnji Cooper        "no_test_msvc2017",
78*28f6c2f2SEnji Cooper    ],
79b89a7cc2SEnji Cooper)
80b89a7cc2SEnji Cooper
81b89a7cc2SEnji Coopercc_test(
82b89a7cc2SEnji Cooper    name = "gmock_link_test",
83b89a7cc2SEnji Cooper    size = "small",
84b89a7cc2SEnji Cooper    srcs = [
85b89a7cc2SEnji Cooper        "gmock_link2_test.cc",
86b89a7cc2SEnji Cooper        "gmock_link_test.cc",
87b89a7cc2SEnji Cooper        "gmock_link_test.h",
88b89a7cc2SEnji Cooper    ],
89*28f6c2f2SEnji Cooper    deps = ["//:gtest_main"],
90b89a7cc2SEnji Cooper)
91b89a7cc2SEnji Cooper
92b89a7cc2SEnji Coopercc_binary(
93b89a7cc2SEnji Cooper    name = "gmock_output_test_",
94b89a7cc2SEnji Cooper    srcs = ["gmock_output_test_.cc"],
95*28f6c2f2SEnji Cooper    deps = ["//:gtest"],
96b89a7cc2SEnji Cooper)
97b89a7cc2SEnji Cooper
98b89a7cc2SEnji Cooperpy_test(
99b89a7cc2SEnji Cooper    name = "gmock_output_test",
100b89a7cc2SEnji Cooper    size = "medium",
101b89a7cc2SEnji Cooper    srcs = ["gmock_output_test.py"],
102b89a7cc2SEnji Cooper    data = [
103b89a7cc2SEnji Cooper        ":gmock_output_test_",
104b89a7cc2SEnji Cooper        ":gmock_output_test_golden.txt",
105b89a7cc2SEnji Cooper    ],
106*28f6c2f2SEnji Cooper    tags = [
107*28f6c2f2SEnji Cooper        "no_test_msvc2015",
108*28f6c2f2SEnji Cooper        "no_test_msvc2017",
109*28f6c2f2SEnji Cooper    ],
110b89a7cc2SEnji Cooper    deps = [":gmock_test_utils"],
111b89a7cc2SEnji Cooper)
112b89a7cc2SEnji Cooper
113b89a7cc2SEnji Coopercc_test(
114b89a7cc2SEnji Cooper    name = "gmock_test",
115b89a7cc2SEnji Cooper    size = "small",
116b89a7cc2SEnji Cooper    srcs = ["gmock_test.cc"],
117*28f6c2f2SEnji Cooper    deps = ["//:gtest_main"],
118b89a7cc2SEnji Cooper)
119