使用 Logtalk 超时功能测试 SWI Prolog 文件

Using Logtalk Timeout function for Testing SWI Prolog Files

这是与

相关的跟进 post

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

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

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

谢谢。

脚本手册页包括:

When the script detects either a timeout or a gtimeout command (provided by the GNU coreutils package), it will use it to run each test set if the timeout option is set to a value greater than zero. On Windows operating-systems, the native timeout command is not usable for this purpose.

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

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

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

P.S。在 Windows 上,GNU coreutils 软件包在 Bash shell 中可用,由 Git for Windows 安装程序提供。