这是与 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。
谢谢。
答案 0 :(得分: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
包。