1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" 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
..
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
. ds C` ""
. ds C' ""
'br\}
.el\{\
. 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 2024-02-11 "perl v5.38.2" "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.44
.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<n>""" 4
.el .IP \f(CWj<n>\fR 4
.IX Item "j<n>"
Run <n> (default 9) parallel jobs.
.ie n .IP """c""" 4
.el .IP \f(CWc\fR 4
.IX Item "c"
Try to color output. See "new" in TAP::Formatter::Base.
.ie n .IP """a<file.tgz>""" 4
.el .IP \f(CWa<file.tgz>\fR 4
.IX Item "a<file.tgz>"
Will use TAP::Harness::Archive as the harness class, and save the TAP 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 separated 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.
|