Я использую 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);
}