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