mirror of
https://github.com/google/benchmark.git
synced 2024-11-28 05:44:40 +00:00
4c2e32f1d0
It may be useful for those wishing to further post-process JSON results, but it is mainly geared towards better support for run interleaving, where results from the same family may not be close-by in the JSON. While we won't be able to do much about that for outputs, the tools can and perhaps should reorder the results to that at least in their output they are in proper order, not run order. Note that this only counts the families that were filtered-in, so if e.g. there were three families, and we filtered-out the second one, the two families (which were first and third) will have family indexes 0 and 1.
75 lines
1.8 KiB
Python
75 lines
1.8 KiB
Python
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"],
|
|
"repetitions_test.cc": [" --benchmark_repetitions=3"],
|
|
})
|
|
|
|
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"],
|
|
)
|