0

这是与使用 Bash 脚本自动测试 Prolog 文件相关的后续帖子

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

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

在此处输入图像描述

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

谢谢你。

4

1 回答 1

1

脚本手册页包括:

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

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

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

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

PS 在 Windows 上,GNUcoreutils包在 Git for Windows 安装程序提供的 Bash shell 中可用。

于 2021-07-30T08:06:46.903 回答