diff --git a/raco.rkt b/raco.rkt index 420c421..6d6e265 100644 --- a/raco.rkt +++ b/raco.rkt @@ -1,14 +1,30 @@ #lang racket -(require raco/command-name "main.rkt") +(require raco/command-name "main.rkt" "format.rkt") (module+ main + + (define coverage-dir "coverage") + (define coverage? #f) + (define output-format "") + (define files (expand-directories (command-line #:program (short-program+command-name) - #:args files files))) + #:once-any + [("-d" "--directory") d "Specify output directory" (set! coverage-dir d)] + [("-c" "--coverage") format + "Specify that coverage should be run and optional what format" + (set! coverage? #t) + (set! output-format format)] + #:args files + files))) (printf "testing ~s\n" files) - (apply test-files! files)) + (apply test-files! files) + (when coverage? + (printf "COVERAGE!") + (case output-format + [("html") (generate-html-coverage (get-test-coverage) coverage-dir)]))) ;; TODO allow for arbitrary extensions (define extensions '(#rx".rkt$" #rx".ss$"))