.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "TAP::Harness::Env 3perl" .TH TAP::Harness::Env 3perl "2021-09-24" "perl v5.32.1" "Perl Programmers Reference Guide" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" TAP::Harness::Env \- Parsing harness related environmental variables where appropriate .SH "VERSION" .IX Header "VERSION" Version 3.42 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& my $harness = TAP::Harness::Env\->create(\e%extra_args) .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module implements the environmental variables that Test::Harness uses with TAP::Harness, and instantiates the appropriate class with the appropriate arguments. .SH "METHODS" .IX Header "METHODS" .IP "\(bu" 4 create( \e%args ) .Sp This function reads the environment and generates an appropriate argument hash from it. If given any arguments in \f(CW%extra_args\fR, these will override the environmental defaults. In accepts \f(CW\*(C`harness_class\*(C'\fR (which defaults to \f(CW\*(C`TAP::Harness\*(C'\fR), and any argument the harness class accepts. .SH "ENVIRONMENTAL VARIABLES" .IX Header "ENVIRONMENTAL VARIABLES" .ie n .IP """HARNESS_PERL_SWITCHES""" 4 .el .IP "\f(CWHARNESS_PERL_SWITCHES\fR" 4 .IX Item "HARNESS_PERL_SWITCHES" Setting this adds perl command line switches to each test file run. .Sp For example, \f(CW\*(C`HARNESS_PERL_SWITCHES=\-T\*(C'\fR will turn on taint mode. \&\f(CW\*(C`HARNESS_PERL_SWITCHES=\-MDevel::Cover\*(C'\fR will run \f(CW\*(C`Devel::Cover\*(C'\fR for each test. .ie n .IP """HARNESS_VERBOSE""" 4 .el .IP "\f(CWHARNESS_VERBOSE\fR" 4 .IX Item "HARNESS_VERBOSE" If true, \f(CW\*(C`TAP::Harness\*(C'\fR will output the verbose results of running its tests. .ie n .IP """HARNESS_SUBCLASS""" 4 .el .IP "\f(CWHARNESS_SUBCLASS\fR" 4 .IX Item "HARNESS_SUBCLASS" Specifies a TAP::Harness subclass to be used in place of TAP::Harness. .ie n .IP """HARNESS_OPTIONS""" 4 .el .IP "\f(CWHARNESS_OPTIONS\fR" 4 .IX Item "HARNESS_OPTIONS" Provide additional options to the harness. Currently supported options are: .RS 4 .ie n .IP """j""" 4 .el .IP "\f(CWj\fR" 4 .IX Item "j" Run (default 9) parallel jobs. .ie n .IP """c""" 4 .el .IP "\f(CWc\fR" 4 .IX Item "c" Try to color output. See \*(L"new\*(R" in TAP::Formatter::Base. .ie n .IP """a""" 4 .el .IP "\f(CWa\fR" 4 .IX Item "a" Will use TAP::Harness::Archive as the harness class, and save the \s-1TAP\s0 to \&\f(CW\*(C`file.tgz\*(C'\fR .ie n .IP """fPackage\-With\-Dashes""" 4 .el .IP "\f(CWfPackage\-With\-Dashes\fR" 4 .IX Item "fPackage-With-Dashes" Set the formatter_class of the harness being run. Since the \f(CW\*(C`HARNESS_OPTIONS\*(C'\fR is seperated by \f(CW\*(C`:\*(C'\fR, we use \f(CW\*(C`\-\*(C'\fR instead. .RE .RS 4 .Sp Multiple options may be separated by colons: .Sp .Vb 1 \& HARNESS_OPTIONS=j9:c make test .Ve .RE .ie n .IP """HARNESS_TIMER""" 4 .el .IP "\f(CWHARNESS_TIMER\fR" 4 .IX Item "HARNESS_TIMER" Setting this to true will make the harness display the number of milliseconds each test took. You can also use \fIprove\fR's \f(CW\*(C`\-\-timer\*(C'\fR switch. .ie n .IP """HARNESS_COLOR""" 4 .el .IP "\f(CWHARNESS_COLOR\fR" 4 .IX Item "HARNESS_COLOR" Attempt to produce color output. .ie n .IP """HARNESS_IGNORE_EXIT""" 4 .el .IP "\f(CWHARNESS_IGNORE_EXIT\fR" 4 .IX Item "HARNESS_IGNORE_EXIT" If set to a true value instruct \f(CW\*(C`TAP::Parser\*(C'\fR to ignore exit and wait status from test scripts.