App-TestOnTap

 view release on metacpan or  search on metacpan

lib/App/TestOnTap/Args.pod  view on Meta::CPAN


=back

=item B<--timer>, B<--no-timer>

Using C<--timer> turns on the display of timing information for tests when running.

Note that the information is always present in persisted results, this just controls the display when running a suite. 

=item B<--harness>, B<--no-harness>

By default test output is handled by a test harness.

Using C<--no-harness> turns on a special mode where tests are run with no capture and parsing of
output. Printouts go directly to stdout/err, and stdin is active.

This can be convenient to directly see the TAP (or other) output which can be handy
for debugging the tests themselves. Also, since stdin should work normally, using an
execmap that starts the test in debug mode enables them to run under a real debugger.

 # Example config file 'debug.cfg':
 
 # (copies of the real config settings)
 
 execmap = debug normal
 
 [EXECMAP normal]
 match = regexp(\.pl$)
 cmd = perl

 [EXECMAP debug]
 match = eq(some/test.pl)
 cmd = perl -d

and run with:

 testontap --no-harness --configuration debug.execmap some/path/to/suite
 
would start the some/test.pl file under the Perl debugger but run the rest normally.

Note that this renders several options and mechanisms useless:
for example C<--verbose>, C<--jobs>, C<--timer>. Also, the work directory
will miss most of the data normally seen, such as TAP output, aggregated
test results etc. C<--no-harness> will be automatically used when C<--dryrun> is used

=item B<--dryrun>, B<--no-dryrun>

By using C<--dryrun>, C<--no-harness> is implied.

No tests will be actually run, the tests will just be listed in the order they would have run in
the C<--no-harness> format plus lists of what any dependency queries actually select.

=item B<--merge>, B<--no-merge>

By default, writes to stderr in tests are passed directly through to the console (but see below).

However, as STDERR is unbuffered, this tends to make the console look very ugly and
the output are only marginally in sync with the ordinary harness output.

Using C<--merge> makes the harness merge stdout and stderr as one, which makes them
synchronized. However, the output is no longer visible unless C<--verbose> is used.

If any of the options C<--archive>, C<--savedirectory> or C<--workdirectory> are given, merging
is turned on, in order to force the output to the result 'tap' files. If this is not desired,
use C<--no-merge> explicitly.

=item B<--configuration E<lt>cfgfileE<gt>> (or B<--cfg ...>)

By default, the test suite is required to have a configuration file (even if it's empty).
With this option, another configuration file can be used instead. 

If this option is not used, and the configuration in the suite, some internal defaults will be used.  

For more on configuration, see the L<manual regarding the config setting|App::TestOnTap/"THE SUITE CONFIG">.

=item B<--archive>, B<--savedirectory E<lt>pathE<gt>> 

By default, the results of a test run are not saved.

By providing either or both of these options, results may be saved as either a ready-made archive
or a regular directory. The name of the saved file/directory will be named using the basename of the
suite plus a timestamp and the run id, which together should be entirely unique.

Giving only C<--archive>, the result will be saved as an archive in the current directory.

Giving C<--archive --savedirectory some/path> together, the result will be saved as an archive
in the directory some/path (the directory may or may not exist beforehand).
 
Giving only C<--savedirectory some/path>, the result archive will be a regular subdirectory in the
directory some/path (the directory may or may not exist beforehand).

For details of saved results, see the L<manual regarding 'persisted results'|App::TestOnTap/"PERSISTED RESULT">.

NOTE: by using either of these flags, the C<--merge> option is automatically turned on.

=item B<--define E<lt>keyE<gt>=E<lt>valueE<gt>>

The function of this option is to make it possible to pass on arbitrary key/value pairs to a saved result
in order to later enable various types of differentiation to be made when processing the saved result.
The defines are not made available to tests.

Can be given multiple times.

=item B<suitepath>

This is the path to the root directory of the suite, or to a zip archive containing a suite.

If it is a zip archive, the archive must contain only a directory at the zip root, and a valid
I<testontap configuration> file in that directory. It will be unpacked to a temporary location
before being executed and cleaned up after. 
 
For details on test suites, see the L<manual|App::TestOnTap/"THE TEST SUITE">.

=item B<suiteargs ...>

Any arguments can be passed, and they will just be passed on as-is to the tests when they start.

For details, see the L<manual on parameter passing|App::TestOnTap/"PARAMETER PASSING">.

=back



( run in 1.836 second using v1.01-cache-2.11-cpan-2398b32b56e )