gpt4 book ai didi

hudson - 如何确保 Hudson 中同时只运行某一类别的作业?

转载 作者:行者123 更新时间:2023-12-02 08:10:04 27 4
gpt4 key购买 nike

我使用 Hudson 来自动测试一个非常大的重要产品。我希望我的测试主机能够运行理论上支持的尽可能多的并发构建,但 excel 测试除外,它在任何时间每台机器只能运行一个。任意数量的非 Excel 测试可以同时运行,但是每台机器一次最多只能运行一个 Excel 测试。

背景:

我的大多数测试都是正常的单元测试 - 那种我可以轻松并行运行的测试。不幸的是,我的单元测试计划的一个重要且耗时的部分包括在 Excel 中实现的测试。

您可能认为在 Excel 中实现测试很疯狂 - 实际上有一个重要原因:我们的大多数用户通过 Excel 访问我们的系统。 Excel 有自己独特的处理数据的方式,因此保证我们的东西适用于 Excel 用户的唯一方法是从字面上实现我们的应用程序 Excel 的注册测试。

我编写了一个测试运行工具,它允许我轻松启动一组 Excel 测试:每个测试都是一个 .xls 文件。每个组都是一个充满 Excel 文件的文件夹。我有大约 30 个组需要运行进行端到端测试。我的工具将每个测试的结果转换为 Hudson 能够理解的 JUnit 样式 XML。测试使用 pywin32com 库来自动化 Excel。当它们单独运行时,它们是可靠的。

我有一组专门用于运行测试的计算机。每台机器都是四核的,理论上可以同时运行很多东西。不幸的是,我发现 COM 不能用于安全地控制每台机器一次超过 1 个 excel。

也就是说,如果第二个构建尝试通过 COM 与 Excel 通信,它可能会干扰已经运行的构建并导致两个测试失败。

我可以运行机器允许的尽可能多的其他非 excel 进程,但我需要找到一种方法,以便 Hudson 不会尝试在任何一台机器上同时启动 1 个以上需要 excel 的进程。

最佳答案

听起来 Locks and Latches 插件可能对您有帮助。

http://hudson.gotdns.com/wiki/display/HUDSON/Locks+and+Latches+plugin

关于hudson - 如何确保 Hudson 中同时只运行某一类别的作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/516883/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com