Пост-процессная команда тестирования Bazel генерирует отчеты - PullRequest
1 голос
/ 28 марта 2020

Я использую Bazel на своем CI-сервере для сборки и тестирования своей библиотеки C ++, но не могу получить сгенерированные файлы отчетов / журналов.

Интересно, есть ли способ обратиться к сгенерированным файлы для дальнейшего использования внутри genrule, что может позволить мне постобработать файлы (генерировать HTML ...)?

bazel:

$ bazel test //unit:tests
INFO: Analyzed 2 targets (21 packages loaded, 400 targets configured).
INFO: Found 2 test targets...
INFO: Elapsed time: 29,326s, Critical Path: 6,86s
INFO: 22 processes: 22 darwin-sandbox.
INFO: Build completed successfully, 29 total actions
//unit:tests_a                                                 PASSED in 0.7s
//unit:tests_b                                                 PASSED in 0.7s

Executed 2 out of 2 tests: 2 tests pass.
INFO: Build completed successfully, 29 total actions

сгенерированные отчеты:

$ find bazel-out/ -name '*.xml' -or -name '*.log'
bazel-out//darwin-fastbuild/testlogs/unit/tests_a/test.log
bazel-out//darwin-fastbuild/testlogs/unit/tests_a/test.xml
bazel-out//darwin-fastbuild/testlogs/unit/tests_b/test.log
bazel-out//darwin-fastbuild/testlogs/unit/tests_b/test.xml

РАБОЧЕЕ МЕСТО:

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "gtest",
    url = "https://github.com/google/googletest/archive/release-1.10.0.zip",
    sha256 = "94c634d499558a76fa649edb13721dce6e98fb1e7018dfaeba3cd7a083945e91",
    strip_prefix = "googletest-release-1.10.0",
)

единица / СТРОИТЕЛЬСТВО:

load("@rules_cc//cc:defs.bzl", "cc_test")
test_suite(name = "tests", tests = glob(["tests_*"]))
cc_test(name = "tests_a", srcs = ["ut.cc"], deps = ["@gtest//:gtest_main"])
cc_test(name = "tests_b", srcs = ["ut.cc"], deps = ["@gtest//:gtest_main"])

единица / ут. cc:

#include "gtest/gtest.h"
TEST(HelloTest, GetGreet) {
  EXPECT_EQ(1, 1);
}
...