|
|
- load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
-
- platform(
- name = "windows",
- constraint_values = [
- "@platforms//os:windows",
- ],
- )
-
- TEST_COPTS = [
- "-pedantic",
- "-pedantic-errors",
- "-std=c++11",
- "-Wall",
- "-Wconversion",
- "-Wextra",
- "-Wshadow",
- # "-Wshorten-64-to-32",
- "-Wfloat-equal",
- "-fstrict-aliasing",
- ]
-
- # Some of the issues with DoNotOptimize only occur when optimization is enabled
- PER_SRC_COPTS = {
- "donotoptimize_test.cc": ["-O3"],
- }
-
- TEST_ARGS = ["--benchmark_min_time=0.01s"]
-
- PER_SRC_TEST_ARGS = {
- "user_counters_tabular_test.cc": ["--benchmark_counters_tabular=true"],
- "repetitions_test.cc": [" --benchmark_repetitions=3"],
- "spec_arg_test.cc": ["--benchmark_filter=BM_NotChosen"],
- "spec_arg_verbosity_test.cc": ["--v=42"],
- }
-
- cc_library(
- name = "output_test_helper",
- testonly = 1,
- srcs = ["output_test_helper.cc"],
- hdrs = ["output_test.h"],
- copts = select({
- "//:windows": [],
- "//conditions:default": 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 = select({
- "//:windows": [],
- "//conditions:default": 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",
- ],
- # 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",
- "cxx03_test.cc",
- "link_main_test.cc",
- ],
- )
- ]
-
- cc_test(
- name = "cxx03_test",
- size = "small",
- srcs = ["cxx03_test.cc"],
- copts = TEST_COPTS + ["-std=c++03"],
- target_compatible_with = select({
- "//:windows": ["@platforms//:incompatible"],
- "//conditions:default": [],
- }),
- deps = [
- ":output_test_helper",
- "//:benchmark",
- "//:benchmark_internal_headers",
- "@com_google_googletest//:gtest",
- "@com_google_googletest//:gtest_main",
- ],
- )
-
- cc_test(
- name = "link_main_test",
- size = "small",
- srcs = ["link_main_test.cc"],
- copts = select({
- "//:windows": [],
- "//conditions:default": TEST_COPTS,
- }),
- deps = ["//:benchmark_main"],
- )
|