У меня есть проект C ++, и я хочу использовать bazel coverage
для получения информации о покрытии кода.
Однако после запуска команды я обнаружил, что файл coverage.dat
внутри bazel-testlogs
ничего не содержит.
Так я смотрю в нужном месте? Или есть какая-то проблема с Bazel?
Я использую Bazel 1.0.0.
Полный пример
WORKSPACE
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
git_repository(
name = "gtest",
remote = "https://github.com/google/googletest",
commit = "3306848f697568aacf4bcca330f6bdd5ce671899",
)
lib/a.cc
int f(int x) {
if (x == 0)
return x + 1;
else
return 1 + x;
}
lib/BUILD
cc_library(
name = "a",
srcs = ["a.cc"],
visibility = ["//test:__pkg__"],
)
test/my_test.cc
#include "gtest/gtest.h"
TEST(FactorialTest, Negative) {
EXPECT_EQ(1, 1);
}
test/BUILD
cc_test(
name = "my_test",
srcs = ["my_test.cc"],
copts = ["-Iexternal/gtest"],
deps = ["@gtest//:gtest_main", "//lib:a"],
)
После запуска bazel coverage //test:my_test
я вижу файл сгенерированный bazel-testlogs/test/my_test/coverage.dat
, но он пустой (0 байт).