Использование функции тайм-аута Logtalk для тестирования файлов пролога SWI
Это следующий пост, связанный с использованием сценария Bash для автоматизации тестирования файла пролога.
Теперь, когда у меня эффективно реализовано тестирование, я хочу добавить в тесты значения тайм-аута, чтобы, если конкретный случай занимает слишком много времени, программа могла перейти к следующему заданию учащегося.
Когда я использую
logtalk_tester -p swi -t 60
, команда успешно запускает тесты, но упоминает, что logtalk пропускает флаг -t 60 timeout. У меня вопрос: есть ли работающий механизм тайм-аута для лог-разговора для MacOS Big Sur? Когда я запускаю указанную выше команду, перед оценкой теста ставится следующее предупреждение:
Я проверил страницу руководства (https://logtalk.org/man/logtalk_tester.html), но, насколько я понимаю, в Windows есть обходной путь для получения тайм-аута, но я не вижу упоминания о MacOS.
Спасибо.
1 ответ
Страницы руководства по сценарию включают:
Когда сценарий обнаруживает тайм-аут или команду gtimeout (предоставленную пакетом GNU coreutils), он будет использовать ее для запуска каждого набора тестов, если для параметра тайм-аута установлено значение больше нуля. В операционных системах Windows для этой цели нельзя использовать собственную команду тайм-аута.
Вы можете легко установить пакет GNU на macOS, используя MacPorts или Homebrew.
Для использования тайм-аутов для отдельных тестов (вместо тайм-аутов набора тестов, как в вашем вопросе) см.
https://logtalk.org/manuals/devtools/lgtunit.html#tests-with-timeout-limits
PS В Windows GNU
coreutils
Пакет доступен в оболочке Bash, предоставляемой установщиком Git для Windows.