Вместо того, чтобы запускать проверки самостоятельно, которые печатают в stderr
и возвращают #<void>
, поместите проверки в набор тестов, чтобы вы могли использовать run-tests
из rackunit/text-ui
.
#lang racket
(require rackunit rackunit/text-ui)
(define-test-suite testing
<TESTS>)
(.... something something (run-tests testing) ....)
Однако функция run-tests
, похоже, использует current-error-port
, а не current-output-port
, для печати тестовых сбоев, поэтому в вашем call-with-output-file
вам нужно установить current-error-port
на out
.
(call-with-output-file "testing.txt"
(λ (out)
(parameterize ([current-error-port out])
(run-tests testing)))
#:exists 'append)