【问题标题】:Using Logtalk Timeout function for Testing SWI Prolog Files使用 Logtalk 超时功能测试 SWI Prolog 文件
【发布时间】:2021-07-30 03:09:52
【问题描述】:

这是与Using a Bash Script To Automate Testing of A Prolog File相关的后续帖子

现在我已经有效地实施了测试,我希望在测试中添加超时值,这样如果某个特定案例花费的时间太长,程序就可以继续执行下一个学生的作业。

当我使用logtalk_tester -p swi -t 60 时,该命令成功运行测试,但提到 logtalk 将跳过 -t 60 超时标志。我的问题是,MacOS Big Sur 的 logtalk 是否有有效的超时机制?当我运行上述命令时,测试评估以以下警告为前缀:

我查看了手册页 (https://logtalk.org/man/logtalk_tester.html),但据我了解,Windows 有一个解决方法可以让超时工作,但我没有看到提到 MacOS。

谢谢。

【问题讨论】:

    标签: prolog swi-prolog logtalk


    【解决方案1】:

    脚本手册页包括:

    当脚本检测到超时或 gtimeout 命令时 (由 GNU coreutils 包提供),它将使用它来运行每个 如果超时选项设置为大于零的值,则测试集。在 Windows 操作系统,本机超时命令不可用 为此目的。

    您可以使用 MacPorts 或 Homebrew 在 macOS 上轻松安装 GNU coreutils 包。

    有关使用单个测试特定超时(而不是您问题中的测试集超时),请参阅:

    https://logtalk.org/manuals/devtools/lgtunit.html#tests-with-timeout-limits

    附:在 Windows 上,Git for Windows 安装程序提供的 Bash shell 中提供了 GNU coreutils 包。

    【讨论】:

    • 是的,下载 coreutils 解决了这个问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 2014-05-09
    相关资源
    最近更新 更多