aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/testing/gbenchmark/main.cpp
diff options
context:
space:
mode:
authorthegeorg <thegeorg@yandex-team.com>2023-06-08 13:56:44 +0300
committerthegeorg <thegeorg@yandex-team.com>2023-06-08 13:56:44 +0300
commit40479c2d3d1e9bd3eb213aba537570d28d37d8a2 (patch)
tree9a275dff7a8b4b20f6c7f33022a7ef800d7a4063 /library/cpp/testing/gbenchmark/main.cpp
parent74801b5fa21692b9fce51b8096694453568cbf8a (diff)
downloadydb-40479c2d3d1e9bd3eb213aba537570d28d37d8a2.tar.gz
Restrict direct usages of google benchmarking library
Forbid PEERDIR-ing Google Benchmark from modules other than G_BENCHMARK.
Diffstat (limited to 'library/cpp/testing/gbenchmark/main.cpp')
-rw-r--r--library/cpp/testing/gbenchmark/main.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/library/cpp/testing/gbenchmark/main.cpp b/library/cpp/testing/gbenchmark/main.cpp
new file mode 100644
index 0000000000..523d18901a
--- /dev/null
+++ b/library/cpp/testing/gbenchmark/main.cpp
@@ -0,0 +1,16 @@
+#include <benchmark/benchmark.h>
+
+#include <library/cpp/testing/hook/hook.h>
+#include <util/generic/scope.h>
+
+int main(int argc, char** argv) {
+ NTesting::THook::CallBeforeInit();
+ ::benchmark::Initialize(&argc, argv);
+ if (::benchmark::ReportUnrecognizedArguments(argc, argv)) {
+ return 1;
+ }
+ NTesting::THook::CallBeforeRun();
+ Y_DEFER { NTesting::THook::CallAfterRun(); };
+ ::benchmark::RunSpecifiedBenchmarks();
+ return 0;
+}