blob: e01bfa0df010d575080a9b966821cc1c24de632c [file] [log] [blame]
Usage:
tap [options] <files>
Executes all the files and interprets their output as TAP
formatted test result data.
To parse TAP data from stdin, specify "-" as a filename.
Short options are parsed gnu-style, so for example '-bCRspec' would be
equivalent to '--bail --no-color --reporter=spec'
If the --check-coverage or --coverage-report options are provided, but
no test files are specified, then a coverage report or coverage check
will be run on the data from the last test run.
Coverage is never enabled for stdin.
Options:
-j<n> --jobs=<n> Run up to <n> test files in parallel
Note that this causes tests to be run in
"buffered" mode, so line-by-line results
cannot be reported, and older TAP
parsers may get upset.
-J --jobs-auto Run test files in parallel (auto calculated)
Note that this causes tests to be run in
"buffered" mode, so line-by-line results
cannot be reported, and older TAP
parsers may get upset.
-g<pattern> Only run subtests tests matching the specified
--grep=<pattern> pattern.
Patterns are matched against top-level
subtests in each file. To filter tests
at subsequent levels, specify this
option multiple times.
To specify regular expression flags,
format pattern like a JavaScript RegExp
literal. For example: '/xyz/i' for
case-insensitive matching.
-i --invert Invert the matches to --grep patterns.
(Like grep -v)
-c --color Use colors (Default for TTY)
-C --no-color Do not use colors (Default for non-TTY)
-b --bail Bail out on first failure
-B --no-bail Do not bail out on first failure (Default)
-O --only Only run tests with {only: true} option
-R<type> --reporter=<type> Use the specified reporter. Defaults to
'classic' when colors are in use, or 'tap'
when colors are disabled.
Available reporters:
@@REPORTERS@@
-o<file> Send the raw TAP output to the specified
--output-file=<file> file. Reporter output will still be
printed to stdout, but the file will
contain the raw TAP for later reply or
analysis.
-s<file> --save=<file> If <file> exists, then it should be a line-
delimited list of test files to run. If
<file> is not present, then all command-line
positional arguments are run.
After the set of test files are run, any
failed test files are written back to the
save file.
This way, repeated runs with -s<file> will
re-run failures until all the failures are
passing, and then once again run all tests.
It's a good idea to .gitignore the file
used for this purpose, as it will churn a
lot.
--coverage --cov Capture coverage information using 'nyc'
If a COVERALLS_REPO_TOKEN environment
variable is set, then coverage is
captured by default and sent to the
coveralls.io service.
--no-coverage --no-cov Do not capture coverage information.
Note that if nyc is already loaded, then
the coverage info will still be captured.
--coverage-report=<type> Output coverage information using the
specified istanbul/nyc reporter type.
Default is 'text' when running on the
command line, or 'text-lcov' when piping
to coveralls.
If 'html' is used, then the report will
be opened in a web browser after running.
This can be run on its own at any time
after a test run that included coverage.
--no-coverage-report Do not output a coverage report.
--no-browser Do not open a web browser after
generating an html coverage report.
-t<n> --timeout=<n> Time out test files after <n> seconds.
Defaults to 30, or the value of the
TAP_TIMEOUT environment variable.
Setting to 0 allows tests to run
forever.
-T --no-timeout Do not time out tests.
Equivalent to --timeout=0
-h --help print this thing you're looking at
-v --version show the version of this program
--node-arg=<arg> Pass an argument to Node binary in all
child processes. Run 'node --help' to
see a list of all relevant arguments.
This can be specified multiple times to
pass multiple args to Node.
-gc --expose-gc Expose the gc() function to Node tests
--debug Run JavaScript tests with node --debug
--debug-brk Run JavaScript tests with node --debug-brk
--harmony Enable all Harmony flags in JavaScript tests
--strict Run JS tests in 'use strict' mode
--test-arg=<arg> Pass an argument to test files spawned
by the tap command line executable.
This can be specified multiple times to
pass multiple args to test scripts.
--nyc-arg=<arg> Pass an argument to nyc when running
child processes with coverage enabled.
This can be specified multiple times to
pass multiple args to nyc.
--check-coverage Check whether coverage is within
thresholds provided. Setting this
explicitly will default --coverage to
true.
This can be run on its own any time
after a test run that included coverage.
--branches what % of branches must be covered?
Setting this will default both
--check-coverage and --coverage to true.
[default: 0]
--functions what % of functions must be covered?
Setting this explicitly will default both
--check-coverage and --coverage to true.
[default: 0]
--lines what % of lines must be covered?
Setting this explicitly will default both
--check-coverage and --coverage to true.
[default: 90]
--statements what % of statements must be covered?
Setting this explicitly will default both
--check-coverage and --coverage to true.
[default: 0]
--100 Full coverage, 100%.
Sets branches, statements, functions,
and lines to 100.
--nyc-help Print nyc usage banner. Useful for
viewing options for --nyc-arg.
--nyc-version Print version of nyc used by tap.
--dump-config Dump the config options in JSON format.
-- Stop parsing flags, and treat any additional
command line arguments as filenames.
Environment Variables:
TAP_SNAPSHOT Set to '1' to generate snapshot files
for `t.matchSnapshot()` assertions.
TAP_RCFILE A yaml formatted file which can set any
of the above options. Defaults to
$HOME/.taprc
TAP_TIMEOUT Default value for --timeout option.
TAP_COLORS Set to '1' to force color output, or '0'
to prevent color output.
TAP_BAIL Bail out on the first test failure.
Used internally when '--bailout' is set.
TAP Set to '1' to force standard TAP output,
and suppress any reporters. Used when
running child tests so that their output
is parseable by the test harness.
TAP_DIAG Set to '1' to show diagnostics by
default for passing tests. Set to '0'
to NOT show diagnostics by default for
failing tests. If not one of these two
values, then diagnostics are printed by
default for failing tests, and not for
passing tests.
TAP_BUFFER Set to '1' to run subtests in buffered
mode by default.
TAP_DEV_LONGSTACK Set to '1' to include node-tap internals
in stack traces. By default, these are
included only when the current working
directory is the tap project itself.
Note that node internals are always
excluded.
TAP_DEV_SHORTSTACK Set to '1' to exclude node-tap internals
in stack traces, even if the current
working directory is the tap project
itself.
_TAP_COVERAGE_ Reserved for internal use.
TAP_DEBUG Set to '1' to turn on debug mode.
NODE_DEBUG Include 'tap' to turn on debug mode.
TAP_GREP A '\n'-delimited list of grep patterns
to apply to root level test objects.
(This is an implementation detail for how
the '--grep' option works.)
TAP_GREP_INVERT Set to '1' to invert the meaning of the
patterns in TAP_GREP. (Implementation
detail for how the '--invert' flag
works.)
Config Files:
You can create a yaml file with any of the options above. By default,
the file at ~/.taprc will be loaded, but the TAP_RCFILE environment
variable can modify this.
Run 'tap --dump-config' for a listing of what can be set in that file.
Each of the keys corresponds to one of the options above.