diff --git a/doc-coverage/export-tests.rkt b/doc-coverage/export-tests.rkt index ae411ab..8fe9fbe 100644 --- a/doc-coverage/export-tests.rkt +++ b/doc-coverage/export-tests.rkt @@ -8,11 +8,14 @@ check-documented check-documentation-ratio) +(define (fail-check-unless cond msg) + (unless cond (fail-check msg))) + (define-check (check-all-documented module-name) (let* ([undocumented (module->undocumented-exported-names module-name)] [num-undocumented (length undocumented)]) - (unless (zero? num-undocumented) - (fail-check (check-all-documented-message module-name num-undocumented undocumented))))) + (fail-check-unless (zero? num-undocumented) + (check-all-documented-message module-name num-undocumented undocumented)))) (define (check-all-documented-message module-name num-undocumented undocumented) (string-append "Module " @@ -29,8 +32,8 @@ "Module foo has 8 undocumented bindings:\n\nfoo1\nfoo2\nfoo3")) (define-check (check-documented module-name binding) - (unless (has-docs? module-name binding) - (fail-check (check-documented-message module-name binding)))) + (fail-check-unless (has-docs? module-name binding) + (check-documented-message module-name binding))) (define (check-documented-message module-name binding) (string-append "Module " @@ -45,15 +48,8 @@ (define-check (check-documentation-ratio module-name minimum-ratio) (let ([actual-ratio (module-documentation-ratio module-name)]) - (unless (>= actual-ratio minimum-ratio) - (fail-check - (string-append "Module " - (symbol->string module-name) - " does not document at least " - (number->string (exact->inexact (* 100 minimum-ratio))) - "% of its bindings, only documents " - (number->string (exact->inexact (* 100 actual-ratio))) - "%"))))) + (fail-check-unless (>= actual-ratio minimum-ratio) + (check-documentation-ratio-message module-name minimum-ratio actual-ratio)))) (define (check-documentation-ratio-message module-name minimum-ratio actual-ratio) (string-append "Module "