| TEST_COPTS = [ | |
| "-pedantic", | |
| "-pedantic-errors", | |
| "-std=c++11", | |
| "-Wall", | |
| "-Wextra", | |
| "-Wshadow", | |
| # "-Wshorten-64-to-32", | |
| "-Wfloat-equal", | |
| "-fstrict-aliasing", | |
| ] | |
| PER_SRC_COPTS = ({ | |
| "cxx03_test.cc": ["-std=c++03"], | |
| # Some of the issues with DoNotOptimize only occur when optimization is enabled | |
| "donotoptimize_test.cc": ["-O3"], | |
| }) | |
| TEST_ARGS = ["--benchmark_min_time=0.01"] | |
| PER_SRC_TEST_ARGS = ({ | |
| "user_counters_tabular_test.cc": ["--benchmark_counters_tabular=true"], | |
| }) | |
| load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") | |
| cc_library( | |
| name = "output_test_helper", | |
| testonly = 1, | |
| srcs = ["output_test_helper.cc"], | |
| hdrs = ["output_test.h"], | |
| copts = TEST_COPTS, | |
| deps = [ | |
| "//:benchmark", | |
| "//:benchmark_internal_headers", | |
| ], | |
| ) | |
| [ | |
| cc_test( | |
| name = test_src[:-len(".cc")], | |
| size = "small", | |
| srcs = [test_src], | |
| args = TEST_ARGS + PER_SRC_TEST_ARGS.get(test_src, []), | |
| copts = TEST_COPTS + PER_SRC_COPTS.get(test_src, []), | |
| deps = [ | |
| ":output_test_helper", | |
| "//:benchmark", | |
| "//:benchmark_internal_headers", | |
| "@com_google_googletest//:gtest", | |
| ] + ( | |
| ["@com_google_googletest//:gtest_main"] if (test_src[-len("gtest.cc"):] == "gtest.cc") else [] | |
| ), | |
| # FIXME: Add support for assembly tests to bazel. | |
| # See Issue #556 | |
| # https://github.com/google/benchmark/issues/556 | |
| ) | |
| for test_src in glob( | |
| ["*test.cc"], | |
| exclude = [ | |
| "*_assembly_test.cc", | |
| "link_main_test.cc", | |
| ], | |
| ) | |
| ] | |
| cc_test( | |
| name = "link_main_test", | |
| size = "small", | |
| srcs = ["link_main_test.cc"], | |
| copts = TEST_COPTS, | |
| deps = ["//:benchmark_main"], | |
| ) |