Add test-include-paths and allow test-omit-paths to use regexps

This commit is contained in:
Jay McCarthy 2015-07-28 14:19:38 -06:00
parent 7864436594
commit 840f11d884

View File

@ -21,10 +21,11 @@ When an argument path refers to a directory, @exec{raco test}
recursively discovers and runs all files within the directory that end recursively discovers and runs all files within the directory that end
in @filepath{.rkt}, end in @filepath{.scrbl}, or have a (possibly in @filepath{.rkt}, end in @filepath{.scrbl}, or have a (possibly
empty) list of command-line arguments provided by empty) list of command-line arguments provided by
@racket[test-command-line-arguments] in an @filepath{info.rkt} file. @racket[test-command-line-arguments] in an @filepath{info.rkt} file,
At the same time, @exec{raco test} omits files and directories within or as directed by @racket[test-include-paths] in an
a directory as directed by @racket[test-omit-paths] in an @filepath{info.rkt} file. At the same time, @exec{raco test} omits
@filepath{info.rkt} file. files and directories within a directory as directed by
@racket[test-omit-paths] in an @filepath{info.rkt} file.
A test is counted as failing if it logs a failing test code via 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
@ -54,9 +55,10 @@ The @exec{raco test} command accepts several flags:
directory, which means ignoring a file argument that does not directory, which means ignoring a file argument that does not
have the extension @filepath{.rkt}, does not have the extension have the extension @filepath{.rkt}, does not have the extension
@filepath{.scrbl}, or is not enabled explicitly via @filepath{.scrbl}, or is not enabled explicitly via
@racket[test-command-line-arguments] in an @filepath{info.rkt} @racket[test-command-line-arguments] or @racket[test-include-paths]
file; meanwhile, paths that are otherwise enabled can be disabled in an @filepath{info.rkt} file; meanwhile, paths that are otherwise
via @racket[test-omit-paths] in an @filepath{info.rkt} file.} enabled can be disabled via @racket[test-omit-paths] in an
@filepath{info.rkt} file.}
@item{@DFlag{drdr} @item{@DFlag{drdr}
--- Configures defaults to imitate the DrDr continuous testing --- Configures defaults to imitate the DrDr continuous testing
@ -212,11 +214,11 @@ impossible (e.g., because the file will not always compile). Thus,
@exec{raco test} also consults any @filepath{info.rkt} file in the @exec{raco test} also consults any @filepath{info.rkt} file in the
candidate test file's directory. In the case of a file within a candidate test file's directory. In the case of a file within a
collection, @filepath{info.rkt} files from any enclosing collection collection, @filepath{info.rkt} files from any enclosing collection
directories are also consulted for @racket[test-omit-paths]. Finally, directories are also consulted for @racket[test-omit-paths] and
for a file within a package, the package's @filepath{info.rkt} is @racket[test-include-paths]. Finally, for a file within a package, the
consulted for @racket[pkg-authors] to set the default responsible package's @filepath{info.rkt} is consulted for @racket[pkg-authors] to
parties (see @secref["test-responsible"]) for all files in the set the default responsible parties (see @secref["test-responsible"])
package. for all files in the package.
The following @filepath{info.rkt} fields are recognized: The following @filepath{info.rkt} fields are recognized:
@ -224,8 +226,17 @@ The following @filepath{info.rkt} fields are recognized:
@item{@racket[test-omit-paths] --- a list of path strings (relative @item{@racket[test-omit-paths] --- a list of path strings (relative
to the enclosing directory) or @racket['all] to omit all files to the enclosing directory) or @racket['all] to omit all files
within the enclosing directory. When a path string refers to a within the enclosing directory or a regexp value to omit all
directory, all files within the directory are omitted.} files within the enclosing directory matching the expression.
When a path string refers to a directory, all files within the
directory are omitted.}
@item{@racket[test-include-paths] --- a list of path strings (relative
to the enclosing directory) or @racket['all] to include all files
within the enclosing directory or a regexp value to include all
files within the enclosing directory matching the expression.
When a path string refers to a directory, all files within the
directory are included.}
@item{@racket[test-command-line-arguments] --- a list of @item{@racket[test-command-line-arguments] --- a list of
@racket[(list _module-path-string (list _argument-path-string @racket[(list _module-path-string (list _argument-path-string