bazel cc_test test_env

Когда я использую cc_test, как:

cc_test(
name = "xxx_test",
srcs = glob([
'xxx.cpp',
]),
linkopts = [
"-L/usr/local/lib",
"-lcppunit",
"-ldl",
"-lz",
"-ltbb",
"-llz4",
"-lzstd"],
deps = [
":feature_generator"],
)

Мне нужно запустить этот cmd:

./bazel test @xxx//xxx:xxx_test --test_output=errors --test_env=LD_LIBRARY_PATH=/usr/local/lib

Как я могу опустить это "--test_env=LD_LIBRARY_PATH=/usr/local/lib".

Есть ли у cc_test опция env_path?

Я хочу сделать так

cc_test(
***
***
test_env = ['/usr/local/lib']
)

и я могу проверить в этом cmd:./bazel test @xxx//xxx:xxx_test --test_output=errors Я не хочу писать "--test_env=LD_LIBRARY_PATH=/usr/local/lib" когда я хочу проверить

Теперь, если я запускаю этот cmd:./bazel test @xxx//xxx:xxx_test --test_output=errors получит эту ошибку:

/home/alex.sh/.cache/bazel/_bazel_alex.sh/c973fcd5ba7eef8db46b22b84af3a149/bazel-sandbox/3561058496653596424/execroot/__main__/bazel-out/local-fastbuild/bin/external/feature_generator/featur\
e_generator/gbdt_test.runfiles/__main__/external/feature_generator/feature_generator/gbdt_test: error while loading shared libraries: libzstd.so.1: cannot open shared object file: No such fi\
le or directory

1

Решение

Таким образом, вы можете добавить флаг к вашему ~ / .bazelrc file, например.:

test --test_env=LD_LIBRARY_PATH=/usr/local/lib

Однако тот факт, что тестовое действие не может найти LD_LIBRARY_PATH, в то время как действие сборки может показаться мне ошибкой, вы должны сообщить об ошибке на https://github.com/bazelbuild/bazel/issues/new

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]