From 58d425c00ca70a5eed9cc86f5215de3b2754a2f5 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 30 Dec 2013 09:48:59 -0700 Subject: [PATCH] raco test: fix error summary in direct mode Also, fix a doc typo --- .../compiler-lib/compiler/commands/test.rkt | 18 ++++++++++-------- .../racket-doc/scribblings/raco/test.scrbl | 4 ++-- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/pkgs/compiler-pkgs/compiler-lib/compiler/commands/test.rkt b/pkgs/compiler-pkgs/compiler-lib/compiler/commands/test.rkt index d50a71f8d0..064aa735fe 100644 --- a/pkgs/compiler-pkgs/compiler-lib/compiler/commands/test.rkt +++ b/pkgs/compiler-pkgs/compiler-lib/compiler/commands/test.rkt @@ -714,13 +714,15 @@ #:sema (make-semaphore))) (when table? (display-summary sum)) - ;; Re-log failures and successes, and then report using `test-log`. - ;; (This is awkward; is it better to not try to use `test-log`?) - (for ([s (in-list sum)]) - (for ([i (in-range (summary-failed s))]) - (test-log! #f)) - (for ([i (in-range (- (summary-total s) - (summary-failed s)))]) - (test-log! #t))) + (unless (or (eq? default-mode 'direct) + (and (not default-mode) single-file?)) + ;; Re-log failures and successes, and then report using `test-log`. + ;; (This is awkward; is it better to not try to use `test-log`?) + (for ([s (in-list sum)]) + (for ([i (in-range (summary-failed s))]) + (test-log! #f)) + (for ([i (in-range (- (summary-total s) + (summary-failed s)))]) + (test-log! #t)))) (define r (test-log #:display? #t #:exit? #t)) (exit (if (zero? (car r)) 0 1)))) diff --git a/pkgs/racket-pkgs/racket-doc/scribblings/raco/test.scrbl b/pkgs/racket-pkgs/racket-doc/scribblings/raco/test.scrbl index 638c5abf4d..13274f51be 100644 --- a/pkgs/racket-pkgs/racket-doc/scribblings/raco/test.scrbl +++ b/pkgs/racket-pkgs/racket-doc/scribblings/raco/test.scrbl @@ -22,7 +22,7 @@ discovers and runs all files within the directory that end in @racket[test-command-line-arguments] in an @filepath{info.rkt} file. A test is counted as failing if it logs a failing test code via -@racket[test-log], causes Racket to exit with a non-zero exit code, or +@racket[test-log!], causes Racket to exit with a non-zero exit code, or (when @Flag{e} or @DFlag{check-stderr} is specified) if it produces output on the error port. The current directory is set to a test file's directory before running the file. @@ -98,7 +98,7 @@ The @exec{raco test} command accepts several flags: @item{@DFlag{table} or @Flag{t} --- Print a summary table after all tests. If a test uses @racketmodname[rackunit], or if a test at least uses - @racket[test-log] from @racketmodname[rackunit/log] to log + @racket[test-log!] from @racketmodname[rackunit/log] to log successes and failures, the table reports test and failure counts based on the log.}