2017-09-21 3 views
1

Lorsque j'utilise un cc_test comme:Bazel cc_test options test_env

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

Je dois exécuter cette cmd:

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

Comment puis-je omettre "--test_env=LD_LIBRARY_PATH=/usr/local/lib".

Est-ce que cc_test a ENV_PATH l'option ?

Je veux faire comme ça

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

et je peux tester dans ce cmd: ./bazel test @xxx//xxx:xxx_test --test_output=errors Je ne veux pas écrire "--test_env=LD_LIBRARY_PATH=/usr/local/lib" quand je veux tester

maintenant, si je lance ce cmd: ./bazel test @xxx//xxx:xxx_test --test_output=errors sera obtenir cette erreur:

/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 
+0

Désolé vous pouvez ajouter plus de détails sur ce qui est le problème exactement? Par exemple. ce que vous aimeriez faire et que se passe-t-il lorsque vous essayez de le faire? –

+0

Je veux faire comme ce cc_test ( *** *** test_env = [ '/ usr/local/lib'] ) et je peux tester dans ce cmd: ./ Bazel @xxx test // xxx: xxx_test --test_output = erreurs Je ne veux pas écrire "--test_env = LD_LIBRARY_PATH =/usr/local/lib" quand je veux tester – Alex

+0

Pourquoi avez-vous besoin d'ajouter le test env? Avez-vous un bazelrc qui passe plus d'option à Bazel? –

Répondre

0

vous pouvez donc ajouter le drapeau à votre ~/.bazelrc file, par exemple:

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

Cependant, le fait que l'action de test ne peut pas trouver LD_LIBRARY_PATH alors que l'action de construction peut sonne comme un bug à moi, vous devez déposer une question sur https://github.com/bazelbuild/bazel/issues/new