在bazel中使用python测试中的二进制文件

时间:2016-08-19 15:22:19

标签: bazel

我想编写一些我的C ++二进制文件的端到端测试,它将提供一些输入文件和stdout的读取输出,并断言它是正确的。我写了一个简单的python测试,它工作正常,现在我尝试使它与bazel一起工作。我将py_test添加到bazel并构建,但我无法在该目标的代码中指定cc_binary(bazel抱怨)。如果我不单独运行cc_binary的构建命令,则python测试不会在bazel-bin中看到二进制文件。如何在运行cc_binary之前强制构建我的py_test

1 个答案:

答案 0 :(得分:7)

您可以将二进制文件添加为数据依赖项。有关详细信息,请参阅the encyclopedia,但它基本上类似于:

cc_binary(
    name = "my-bin",
    srcs = ["bin.cc"],
)

py_test(
    name = "my-test",
    srcs = ["my_test.py"],
    data = [":my-bin"],
    # any other attributes you need...
)