【发布时间】:2020-10-28 10:22:20
【问题描述】:
我在“root/html_files/*.html”目录中有一些 html 文件。我想迭代这些 html 文件并在它们上运行一些 bazel 规则,从“root/tests/”目录。 因此,我创建了这些 html 文件的文件组,并尝试在“root/tests/”目录中访问它们,但这不起作用。 不知道有没有可能?
我在“root/”目录下的BUILD文件:
HTMLS_LIST = glob(["html_files/*.html",]) 文件组( name = "html_files", srcs = HTMLS_LIST, 可见性= [“//可见性:公共”],)我在“root/tests/”目录下的BUILD文件:
load("//tests:automation_test.bzl", "make_and_run_html_tests") make_and_run_html_tests( 名称 = 'test_all_htmls', srcs = ['test/automation_test.py'], html_files = '//:html_files')我的 bzl 文件在“root/tests/”目录下:
def make_and_run_html_tests(名称,html_files,srcs): 测试 = [] for html_files in html_files: # 我想在这里迭代 html 文件组的来源 文件夹 = html_file.split("/") 文件名 = 文件夹[-1].split(".")[0] test_rule_name = 'test_' + 文件名 + '_file' 本机.py_test( 名称 = test_rule_name, srcs = srcs, 主 = srcs[0], 数据 = [ html_file, ], args = [html_file], ) testname = ":" + test_rule_name 测试。附加(测试名称) native.test_suite( 名字=名字, 测试=测试, )还有我在“root/tests/”目录下的python unittest文件:
导入系统 导入编解码器 导入单元测试 类TestHtmlDocumetns(unittest.TestCase): 默认设置(自我): self.html_file_path = sys.argv[1] def test_html_file(self): fid = codecs.open(self.html_file_path, 'r') 打印(fid.read()) self.assertTrue(fid) 如果 __name__ == '__main__': unittest.main(argv=[sys.argv[1]])【问题讨论】:
-
您能否发布您创建的
BUILD文件的内容以及它在树中的什么位置?您要运行哪些特定规则,例如是genrule还是sh_*规则还是其他什么? -
我添加了所有内容。
标签: bazel