我可以为go_tests设置默认的test_arg并从CLI覆盖吗?

时间:2018-06-05 16:35:05

标签: bazel

我使用gazelle为包含一些非go目录的go包生成BUILD文件。

我希望默认情况下将-test.short添加到go_test运行中,然后可选地从CLI关闭它。

添加--test_arg =" -test.short"到CLI不起作用,因为它被传递给非Go测试。

如果我可以向WORKSPACE添加一些东西,根据选择修改了go_test的默认参数,我会很高兴。或者如果我能说服瞪羚生成my_go_test而不是go_test,我可以做一些Skylark。我想念任何方法吗?

1 个答案:

答案 0 :(得分:0)

我认为您可以使用Bazel的config_settingselect来完成这项工作。 SELECT substring_col FROM table WHERE id IN (SELECT regexp_substr('substr1#substr2#substr3#substrN', '[^#]+', 1, level) subs FROM dual CONNECT BY level <= regexp_count('substr1#substr2#substr3#substrN', '#') + 1 ); 允许您根据命令行参数定义对或错的谓词。您可以提供config_setting将测试的--define参数。然后,您可以选择使用config_setting将参数传递给测试。

类似的事情可能对您有用。如果您在命令行上通过了select,它将把-test.short参数传递给测试。默认情况下,不会传递任何参数。

--define=short=true