BUILD.bazel 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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 Google C++ Testing Framework(Google Test)-googlemock
  32. load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_test")
  33. load("@rules_python//python:defs.bzl", "py_library", "py_test")
  34. licenses(["notice"])
  35. # Tests for GMock itself
  36. cc_test(
  37. name = "gmock_all_test",
  38. size = "small",
  39. srcs = glob(include = ["gmock-*.cc"]),
  40. linkopts = select({
  41. "//:windows": [],
  42. "//conditions:default": ["-pthread"],
  43. }),
  44. deps = ["//:gtest"],
  45. )
  46. # Python tests
  47. py_library(
  48. name = "gmock_test_utils",
  49. testonly = 1,
  50. srcs = ["gmock_test_utils.py"],
  51. deps = [
  52. "//googletest/test:gtest_test_utils",
  53. ],
  54. )
  55. cc_binary(
  56. name = "gmock_leak_test_",
  57. testonly = 1,
  58. srcs = ["gmock_leak_test_.cc"],
  59. deps = ["//:gtest_main"],
  60. )
  61. py_test(
  62. name = "gmock_leak_test",
  63. size = "medium",
  64. srcs = ["gmock_leak_test.py"],
  65. data = [
  66. ":gmock_leak_test_",
  67. ":gmock_test_utils",
  68. ],
  69. tags = [
  70. "no_test_msvc2015",
  71. "no_test_msvc2017",
  72. ],
  73. )
  74. cc_test(
  75. name = "gmock_link_test",
  76. size = "small",
  77. srcs = [
  78. "gmock_link2_test.cc",
  79. "gmock_link_test.cc",
  80. "gmock_link_test.h",
  81. ],
  82. deps = ["//:gtest_main"],
  83. )
  84. cc_binary(
  85. name = "gmock_output_test_",
  86. srcs = ["gmock_output_test_.cc"],
  87. deps = ["//:gtest"],
  88. )
  89. py_test(
  90. name = "gmock_output_test",
  91. size = "medium",
  92. srcs = ["gmock_output_test.py"],
  93. data = [
  94. ":gmock_output_test_",
  95. ":gmock_output_test_golden.txt",
  96. ],
  97. tags = [
  98. "no_test_msvc2015",
  99. "no_test_msvc2017",
  100. ],
  101. deps = [":gmock_test_utils"],
  102. )
  103. cc_test(
  104. name = "gmock_test",
  105. size = "small",
  106. srcs = ["gmock_test.cc"],
  107. deps = ["//:gtest_main"],
  108. )