From 8815087cfa124b8b7f6e991189ec50a6bd439c83 Mon Sep 17 00:00:00 2001 From: misterg Date: Tue, 8 Aug 2017 15:17:56 -0400 Subject: [PATCH] WIP --- BUILD.bazel | 218 +++++++++++------------------------- googletest/test/BUILD.bazel | 133 ++++++++++++++++++++++ 2 files changed, 201 insertions(+), 150 deletions(-) create mode 100644 googletest/test/BUILD.bazel diff --git a/BUILD.bazel b/BUILD.bazel index 9922e8f6..97315042 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,12 +1,13 @@ +# Copyright 2017 Google Inc. All Rights Reserved. +# Author: misterg@google.com (Gennadiy Civil) +# +# Description: +# Bazel BUILD file for googletest, initial revision +# package(default_visibility = ["//visibility:public"]) licenses(["notice"]) -config_setting( - name = "win", - values = {"cpu": "x64_windows_msvc"}, -) - cc_library( name = "gmock", srcs = glob( @@ -34,6 +35,18 @@ cc_library( ], ) +# gtest public API. +GTEST_HDRS = \ + glob([ + "googletest/include/gtest/*.h", + ]) + +config_setting( + name = "win", + values = {"cpu": "x64_windows_msvc"}, +) + +# Google Test cc_library( name = "gtest", srcs = glob( @@ -47,9 +60,7 @@ cc_library( "googletest/src/gtest_main.cc", ], ), - hdrs = glob([ - "googletest/include/gtest/*.h", - ]), + hdrs = GTEST_HDRS, copts = select( { ":win": [], @@ -68,6 +79,39 @@ cc_library( }), ) +## Google Test with exceptions enabled. +cc_library( + name = "gtest_ex", + srcs = glob( + include = [ + "googletest/src/*.cc", + "googletest/src/*.h", + "googletest/include/gtest/**/*.h", + ], + exclude = [ + "googletest/src/gtest-all.cc", + "googletest/src/gtest_main.cc", + ], + ), + hdrs = GTEST_HDRS, + copts = ["-fexceptions"] + select( + { + ":win": [], + "//conditions:default": ["-pthread"], + }, + ), + includes = [ + "googletest", + "googletest/include", + ], + linkopts = select({ + ":win": [], + "//conditions:default": [ + "-pthread", + ], + }), +) + cc_library( name = "gtest_main", srcs = glob( @@ -83,131 +127,9 @@ cc_library( "googletest", "googletest/include", ], - deps = [":gmock"], + deps = ["//:gtest"], ) -""" gtest own tests """ - -#on windows exclude gtest-tuple.h and gtest-tuple_test.cc -filegroup( - name = "win_only_test_files", - srcs = glob( - include = [ - "googletest/test/gtest-*.cc", - "googletest/test/*.h", - "googletest/include/gtest/**/*.h", - ], - exclude = [ - "googletest/src/gtest-unittest-api_test.cc", - "googletest/include/gtest/internal/gtest-tuple.h", - "googletest/test/gtest-tuple_test.cc", - "googletest/src/gtest-all.cc", - "googletest/test/gtest_all_test.cc", - "googletest/test/gtest-death-test_ex_test.cc", - "googletest/test/gtest-listener_test.cc", - "googletest/test/gtest-unittest-api_test.cc", - "googletest/test/gtest-param-test_test.cc", - ], - ), -) - -filegroup( - name = "default_test_files", - srcs = glob( - include = [ - "googletest/test/gtest-*.cc", - "googletest/test/*.h", - "googletest/include/gtest/**/*.h", - ], - exclude = [ - "googletest/src/gtest-unittest-api_test.cc", - "googletest/src/gtest-all.cc", - "googletest/test/gtest_all_test.cc", - "googletest/test/gtest-death-test_ex_test.cc", - "googletest/test/gtest-listener_test.cc", - "googletest/test/gtest-unittest-api_test.cc", - "googletest/test/gtest-param-test_test.cc", - ], - ), -) - -cc_test( - name = "gtest_all_test", - size = "small", - srcs = select({ - ":win": [":win_only_test_files"], - "//conditions:default": [":default_test_files"], - }), - copts = select({ - ":win": ["-DGTEST_USE_OWN_TR1_TUPLE=0"], - "//conditions:default": ["-DGTEST_USE_OWN_TR1_TUPLE=1"], - }), - includes = [ - "googletest", - "googletest/include", - "googletest/include/internal", - "googletest/test", - ], - linkopts = select({ - ":win": [], - "//conditions:default": [ - "-pthread", - ], - }), - deps = [":gtest_main"], -) - -#These googletest tests have their own main() -cc_test( - name = "gtest-death-test", - size = "small", - srcs = [ - "googletest/test/gtest-death-test_ex_test.cc", - ], - copts = [ - "-DGTEST_ENABLE_CATCH_EXCEPTIONS_=1", - ], - deps = [ - ":gtest_main", - ], -) - -cc_test( - name = "gtest-listener_test", - size = "small", - srcs = [ - "googletest/test/gtest-listener_test.cc", - ], - deps = [ - ":gtest_main", - ], -) - -cc_test( - name = "gtest-unittest-api_test", - size = "small", - srcs = [ - "googletest/test/gtest-unittest-api_test.cc", - ], - deps = [ - ":gtest_main", - ], -) - -cc_test( - name = "gtest-param-test_test", - size = "small", - srcs = [ - "googletest/test/gtest-param-test2_test.cc", - "googletest/test/gtest-param-test_test.cc", - "googletest/test/gtest-param-test_test.h", - ], - deps = [ - ":gtest_main", - ], -) - - # The following rules build samples of how to use gTest. cc_library( name = "gtest_sample_lib", @@ -228,21 +150,19 @@ cc_library( cc_test( name = "gtest_samples", size = "small", - srcs = glob( - include = [ - #All Samples here except: - #sample9 designed to fail - #sample10 takes a command line option and needs to be separate - "googletest/samples/sample1_unittest.cc", - "googletest/samples/sample2_unittest.cc", - "googletest/samples/sample3_unittest.cc", - "googletest/samples/sample4_unittest.cc", - "googletest/samples/sample5_unittest.cc", - "googletest/samples/sample6_unittest.cc", - "googletest/samples/sample7_unittest.cc", - "googletest/samples/sample8_unittest.cc", - ], - ), + #All Samples except: + #sample9 ( main ) + #sample10 (main and takes a command line option and needs to be separate) + srcs = [ + "googletest/samples/sample1_unittest.cc", + "googletest/samples/sample2_unittest.cc", + "googletest/samples/sample3_unittest.cc", + "googletest/samples/sample4_unittest.cc", + "googletest/samples/sample5_unittest.cc", + "googletest/samples/sample6_unittest.cc", + "googletest/samples/sample7_unittest.cc", + "googletest/samples/sample8_unittest.cc", + ], deps = [ "gtest_sample_lib", ":gtest_main", @@ -253,7 +173,7 @@ cc_test( name = "sample9_unittest", size = "small", srcs = ["googletest/samples/sample9_unittest.cc"], - deps = [":gtest_main"], + deps = [":gtest"], ) cc_test( @@ -261,8 +181,6 @@ cc_test( size = "small", srcs = ["googletest/samples/sample10_unittest.cc"], deps = [ - ":gtest_main", + ":gtest", ], ) - - diff --git a/googletest/test/BUILD.bazel b/googletest/test/BUILD.bazel new file mode 100644 index 00000000..3281efbd --- /dev/null +++ b/googletest/test/BUILD.bazel @@ -0,0 +1,133 @@ +# Copyright 2017 Google Inc. All Rights Reserved. +# Author: misterg@google.com (Gennadiy Civil) +# +# Description: +# Bazel BUILD file for googletest/test, initial revision +# +licenses(["notice"]) + +""" gtest own tests """ + +#on windows exclude gtest-tuple.h and gtest-tuple_test.cc +filegroup( + name = "win_only_test_files", + srcs = glob( + include = [ + "gtest-*.cc", + "*.h", + "googletest/include/gtest/**/*.h", + ], + exclude = [ + "googletest/src/gtest-unittest-api_test.cc", + "googletest/include/gtest/internal/gtest-tuple.h", + "gtest-tuple_test.cc", + "googletest/src/gtest-all.cc", + "gtest_all_test.cc", + "gtest-death-test_ex_test.cc", + "gtest-listener_test.cc", + "gtest-unittest-api_test.cc", + "gtest-param-test_test.cc", + ], + ), +) + +filegroup( + name = "default_test_files", + srcs = glob( + include = [ + "gtest-*.cc", + "*.h", + "googletest/include/gtest/**/*.h", + ], + exclude = [ + "googletest/src/gtest-unittest-api_test.cc", + "googletest/src/gtest-all.cc", + "gtest_all_test.cc", + "gtest-death-test_ex_test.cc", + "gtest-listener_test.cc", + "gtest-unittest-api_test.cc", + "gtest-param-test_test.cc", + ], + ), +) + +cc_test( + name = "gtest_all_test", + size = "small", + srcs = select({ + "//:win": [":win_only_test_files"], + "//conditions:default": [":default_test_files"], + }), + copts = select({ + "//:win": ["-DGTEST_USE_OWN_TR1_TUPLE=0"], + "//conditions:default": ["-DGTEST_USE_OWN_TR1_TUPLE=1"], + }), + includes = [ + "googletest", + "googletest/include", + "googletest/include/internal", + "googletest/test", + ], + linkopts = select({ + "//:win": [], + "//conditions:default": [ + "-pthread", + ], + }), + deps = ["//:gtest_main"], +) + +#These googletest tests have their own main() +cc_test( + name = "gtest-listener_test", + size = "small", + srcs = [ + "gtest-listener_test.cc", + ], + deps = [ + "//:gtest_main", + ], +) + +cc_test( + name = "gtest-unittest-api_test", + size = "small", + srcs = [ + "gtest-unittest-api_test.cc", + ], + deps = [ + "//:gtest_main", + ], +) + +cc_test( + name = "gtest-param-test_test", + size = "small", + srcs = [ + "gtest-param-test2_test.cc", + "gtest-param-test_test.cc", + "gtest-param-test_test.h", + ], + deps = [ + "//:gtest_main", + ], +) + +#Verifies interaction of death tests and exceptions. +cc_test( + name = "gtest-death-test_ex_catch_test", + size = "small", + srcs = ["gtest-death-test_ex_test.cc"], + copts = ["-fexceptions"], + defines = ["GTEST_ENABLE_CATCH_EXCEPTIONS_=0"], + deps = ["//:gtest_ex"], +) + +cc_test( + name = "gtest-death-test_ex_nocatch_test", + size = "small", + srcs = ["gtest-death-test_ex_test.cc"], + copts = ["-fexceptions"], + defines = ["GTEST_ENABLE_CATCH_EXCEPTIONS_=1"], + deps = ["//:gtest_ex"], +)