From eac3e055277868c2a69cd8454e7cc66bf9cae373 Mon Sep 17 00:00:00 2001 From: Spencer Florence Date: Sat, 24 Jan 2015 11:23:00 -0500 Subject: [PATCH] added docs for Issue #28, and version bump --- info.rkt | 5 +++-- scribblings/basics.scrbl | 19 +++++++++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/info.rkt b/info.rkt index bb85619..2668298 100644 --- a/info.rkt +++ b/info.rkt @@ -4,7 +4,8 @@ (define deps '(("base" #:version "6.1.1") "errortrace-lib" "rackunit-lib" "syntax-color-lib" "compiler-lib")) (define build-deps - '("racket-doc" "scribble-lib" "typed-racket-doc" "htdp-lib")) + '("racket-doc" "scribble-lib" "typed-racket-doc" "htdp-lib" + "net-doc" "scribble-doc")) (define raco-commands '(("cover" (submod cover/raco main) "a code coverage tool" 30))) @@ -20,4 +21,4 @@ (define test-command-line-arguments '(("tests/arg.rkt" ("a")))) -(define version "1.1.0") +(define version "1.2.0") diff --git a/scribblings/basics.scrbl b/scribblings/basics.scrbl index ea09e6b..f18657f 100644 --- a/scribblings/basics.scrbl +++ b/scribblings/basics.scrbl @@ -48,5 +48,20 @@ The @exec{raco cover} command accepts the following flags: @tech[#:doc '(lib "pkg/scribblings/pkg.scrbl")]{package scope}.}] -In addition @exec{raco cover} supports the @racket[_test-omit-paths] -and @racket[_test-command-line-arguments] @filepath{info.rkt} options like @exec{raco test}. +In addition @exec{raco cover} supports the @racket[_test-omit-paths] and +@racket[_test-command-line-arguments] @filepath{info.rkt} options like @exec{raco test}. In +addition cover supports @racket[_cover-omit-paths], which is identical to @racket[_test-omit-paths], +but is specific to cover. + +@section{Gotcha's} + +Sometimes the code that cover run will have a non obvious cyclic dependency on another file or +collection. for example, the @racketmodname[net/dns] library has a build time dependency on +@racketmodname[scribble/manual], which depends on @racket[planet], which depends on +@racketmodname[net/dns]. Attempting to run @exec{raco cover} on @racketmodname[net/dns] will result in a +linkage error. This is because Cover recompiled @racketmodname[net/dns] in memory, but @racket[planet] +hasn't been recompiled and thus throws and bad linkage error. There are two ways to fix this. The +first is to include @racketmodname[scribble/manual] and @racket[planet] in the code covered then +exclude them from the output with the @Flag{e} flag. The other is to add the files that cause the +cyclic dependencies to @racket[_test-omit-paths] or @racket[_cover-omit-paths] in that collections +@filepath{info.rkt}.