xref: /freebsd/contrib/kyua/doc/kyua.1.in (revision b0d29bc47dba79f6f38e67eabadfb4b32ffd9390)
1*b0d29bc4SBrooks Davis.\" Copyright 2011 The Kyua Authors.
2*b0d29bc4SBrooks Davis.\" All rights reserved.
3*b0d29bc4SBrooks Davis.\"
4*b0d29bc4SBrooks Davis.\" Redistribution and use in source and binary forms, with or without
5*b0d29bc4SBrooks Davis.\" modification, are permitted provided that the following conditions are
6*b0d29bc4SBrooks Davis.\" met:
7*b0d29bc4SBrooks Davis.\"
8*b0d29bc4SBrooks Davis.\" * Redistributions of source code must retain the above copyright
9*b0d29bc4SBrooks Davis.\"   notice, this list of conditions and the following disclaimer.
10*b0d29bc4SBrooks Davis.\" * Redistributions in binary form must reproduce the above copyright
11*b0d29bc4SBrooks Davis.\"   notice, this list of conditions and the following disclaimer in the
12*b0d29bc4SBrooks Davis.\"   documentation and/or other materials provided with the distribution.
13*b0d29bc4SBrooks Davis.\" * Neither the name of Google Inc. nor the names of its contributors
14*b0d29bc4SBrooks Davis.\"   may be used to endorse or promote products derived from this software
15*b0d29bc4SBrooks Davis.\"   without specific prior written permission.
16*b0d29bc4SBrooks Davis.\"
17*b0d29bc4SBrooks Davis.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18*b0d29bc4SBrooks Davis.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19*b0d29bc4SBrooks Davis.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20*b0d29bc4SBrooks Davis.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21*b0d29bc4SBrooks Davis.\" OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22*b0d29bc4SBrooks Davis.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23*b0d29bc4SBrooks Davis.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24*b0d29bc4SBrooks Davis.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25*b0d29bc4SBrooks Davis.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26*b0d29bc4SBrooks Davis.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27*b0d29bc4SBrooks Davis.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28*b0d29bc4SBrooks Davis.Dd May 12, 2015
29*b0d29bc4SBrooks Davis.Dt KYUA 1
30*b0d29bc4SBrooks Davis.Os
31*b0d29bc4SBrooks Davis.Sh NAME
32*b0d29bc4SBrooks Davis.Nm kyua
33*b0d29bc4SBrooks Davis.Nd Testing framework for infrastructure software
34*b0d29bc4SBrooks Davis.Sh SYNOPSIS
35*b0d29bc4SBrooks Davis.Nm
36*b0d29bc4SBrooks Davis.Op Fl -config Ar file
37*b0d29bc4SBrooks Davis.Op Fl -logfile Ar file
38*b0d29bc4SBrooks Davis.Op Fl -loglevel Ar level
39*b0d29bc4SBrooks Davis.Op Fl -variable Ar name=value
40*b0d29bc4SBrooks Davis.Ar command
41*b0d29bc4SBrooks Davis.Op Ar command_options
42*b0d29bc4SBrooks Davis.Op Ar command_arguments
43*b0d29bc4SBrooks Davis.Sh DESCRIPTION
44*b0d29bc4SBrooks Davis.Em If you are here looking for details on how to run the test suite in
45*b0d29bc4SBrooks Davis.Pa /usr/tests
46*b0d29bc4SBrooks Davis.Em ( or
47*b0d29bc4SBrooks Davis.Pa __TESTSDIR__ ) ,
48*b0d29bc4SBrooks Davis.Em please start by reading the
49*b0d29bc4SBrooks Davis.Xr tests 7
50*b0d29bc4SBrooks Davis.Em manual page that should be supplied by your system .
51*b0d29bc4SBrooks Davis.Pp
52*b0d29bc4SBrooks DavisKyua is a testing framework for infrastructure software, originally
53*b0d29bc4SBrooks Davisdesigned to equip BSD-based operating systems with a test suite.
54*b0d29bc4SBrooks DavisThis means that Kyua is lightweight and simple, and that Kyua integrates well
55*b0d29bc4SBrooks Daviswith various build systems and continuous integration frameworks.
56*b0d29bc4SBrooks Davis.Pp
57*b0d29bc4SBrooks DavisKyua features an expressive test suite definition language, a safe
58*b0d29bc4SBrooks Davisruntime engine for test suites and a powerful report generation engine.
59*b0d29bc4SBrooks Davis.Pp
60*b0d29bc4SBrooks DavisKyua is for both developers and users, from the developer applying a
61*b0d29bc4SBrooks Davissimple fix to a library to the system administrator deploying a new
62*b0d29bc4SBrooks Davisrelease on a production machine.
63*b0d29bc4SBrooks Davis.Pp
64*b0d29bc4SBrooks DavisKyua is able to execute test programs written with a plethora of testing
65*b0d29bc4SBrooks Davislibraries and languages.
66*b0d29bc4SBrooks DavisThe test program library of choice is ATF, which
67*b0d29bc4SBrooks Davis.Nm Ns 's
68*b0d29bc4SBrooks Davisdesign originated from.
69*b0d29bc4SBrooks DavisHowever, framework-less test programs and TAP-compliant test programs can also
70*b0d29bc4SBrooks Davisbe executed through
71*b0d29bc4SBrooks Davis.Nm
72*b0d29bc4SBrooks Davis.Ss Overview
73*b0d29bc4SBrooks DavisAs can be observed in the synopsis, the interface of
74*b0d29bc4SBrooks Davis.Nm
75*b0d29bc4SBrooks Davisimplements a common subcommand-based interface.
76*b0d29bc4SBrooks DavisThe arguments to the tool specify, in this order: a set of common options
77*b0d29bc4SBrooks Davisthat all the commands accept, a required
78*b0d29bc4SBrooks Davis.Ar command
79*b0d29bc4SBrooks Davisname that specifies what
80*b0d29bc4SBrooks Davis.Nm
81*b0d29bc4SBrooks Davisshould do, and
82*b0d29bc4SBrooks Davisa set of possibly-optional
83*b0d29bc4SBrooks Davis.Ar command_options
84*b0d29bc4SBrooks Davisand
85*b0d29bc4SBrooks Davis.Ar command_arguments
86*b0d29bc4SBrooks Davisthat are specific to the chosen command.
87*b0d29bc4SBrooks Davis.Pp
88*b0d29bc4SBrooks DavisThe following options are recognized by all the commands.
89*b0d29bc4SBrooks DavisKeep in mind that these must always be specified before the command name.
90*b0d29bc4SBrooks Davis.Bl -tag -width XX
91*b0d29bc4SBrooks Davis.It Fl -config Ar path , Fl c Ar path
92*b0d29bc4SBrooks DavisSpecifies the configuration file to process, which must be in the format
93*b0d29bc4SBrooks Davisdescribed in
94*b0d29bc4SBrooks Davis.Xr kyua.conf 5 .
95*b0d29bc4SBrooks DavisThe special value
96*b0d29bc4SBrooks Davis.Sq none
97*b0d29bc4SBrooks Davisexplicitly disables the loading of any configuration file.
98*b0d29bc4SBrooks Davis.Pp
99*b0d29bc4SBrooks DavisDefaults to
100*b0d29bc4SBrooks Davis.Pa ~/.kyua/kyua.conf
101*b0d29bc4SBrooks Davisif it exists, otherwise to
102*b0d29bc4SBrooks Davis.Pa __CONFDIR__/kyua.conf
103*b0d29bc4SBrooks Davisif it exists,
104*b0d29bc4SBrooks Davisor else to
105*b0d29bc4SBrooks Davis.Sq none .
106*b0d29bc4SBrooks Davis.It Fl -logfile Ar path
107*b0d29bc4SBrooks DavisSpecifies the location of the file to which
108*b0d29bc4SBrooks Davis.Nm
109*b0d29bc4SBrooks Daviswill log run time events useful for postmortem debugging.
110*b0d29bc4SBrooks Davis.Pp
111*b0d29bc4SBrooks DavisThe default depends on different environment variables as described in
112*b0d29bc4SBrooks Davis.Sx Logging ,
113*b0d29bc4SBrooks Davisbut typically the file will be stored within the user's home directory.
114*b0d29bc4SBrooks Davis.It Fl -loglevel Ar level
115*b0d29bc4SBrooks DavisSpecifies the maximum logging level to record in the log file.
116*b0d29bc4SBrooks DavisSee
117*b0d29bc4SBrooks Davis.Sx Logging
118*b0d29bc4SBrooks Davisfor more details.
119*b0d29bc4SBrooks Davis.Pp
120*b0d29bc4SBrooks DavisThe default is
121*b0d29bc4SBrooks Davis.Sq info .
122*b0d29bc4SBrooks Davis.It Fl -variable Ar name=value , Fl v Ar name=value
123*b0d29bc4SBrooks DavisSets the
124*b0d29bc4SBrooks Davis.Ar name
125*b0d29bc4SBrooks Davisconfiguration variable to
126*b0d29bc4SBrooks Davis.Ar value .
127*b0d29bc4SBrooks DavisThe values set through this option have preference over the values set in the
128*b0d29bc4SBrooks Davisconfiguration file.
129*b0d29bc4SBrooks Davis.Pp
130*b0d29bc4SBrooks DavisThe specified variable can either be a builtin variable or a test-suite
131*b0d29bc4SBrooks Davisspecific variable.
132*b0d29bc4SBrooks DavisSee
133*b0d29bc4SBrooks Davis.Xr kyua.conf 5
134*b0d29bc4SBrooks Davisfor more details.
135*b0d29bc4SBrooks Davis.El
136*b0d29bc4SBrooks Davis.Pp
137*b0d29bc4SBrooks DavisThe following commands are generic and do not have any relation to the execution
138*b0d29bc4SBrooks Davisof tests or the inspection of their results:
139*b0d29bc4SBrooks Davis.Bl -tag -width reportXjunitXX -offset indent
140*b0d29bc4SBrooks Davis.It Ar about
141*b0d29bc4SBrooks DavisShows general program information.
142*b0d29bc4SBrooks DavisSee
143*b0d29bc4SBrooks Davis.Xr kyua-about 1 .
144*b0d29bc4SBrooks Davis.It Ar config
145*b0d29bc4SBrooks DavisInspects the values of the configuration variables.
146*b0d29bc4SBrooks DavisSee
147*b0d29bc4SBrooks Davis.Xr kyua-config 1 .
148*b0d29bc4SBrooks Davis.It Ar db-exec
149*b0d29bc4SBrooks DavisExecutes an arbitrary SQL statement on a results file and prints the
150*b0d29bc4SBrooks Davisresulting table.
151*b0d29bc4SBrooks DavisSee
152*b0d29bc4SBrooks Davis.Xr kyua-db-exec 1 .
153*b0d29bc4SBrooks Davis.It Ar help
154*b0d29bc4SBrooks DavisShows usage information.
155*b0d29bc4SBrooks DavisSee
156*b0d29bc4SBrooks Davis.Xr kyua-help 1 .
157*b0d29bc4SBrooks Davis.El
158*b0d29bc4SBrooks Davis.Pp
159*b0d29bc4SBrooks DavisThe following commands are used to generate reports based on the data previously
160*b0d29bc4SBrooks Davisrecorded in a results file:
161*b0d29bc4SBrooks Davis.Bl -tag -width reportXjunitXX -offset indent
162*b0d29bc4SBrooks Davis.It Ar report
163*b0d29bc4SBrooks DavisGenerates a plaintext report.
164*b0d29bc4SBrooks DavisCombined with its
165*b0d29bc4SBrooks Davis.Fl -verbose
166*b0d29bc4SBrooks Davisflag and the ability to only display specific test cases, this command can also
167*b0d29bc4SBrooks Davisbe used to debug test failures post-facto on the console.
168*b0d29bc4SBrooks DavisSee
169*b0d29bc4SBrooks Davis.Xr kyua-report 1 .
170*b0d29bc4SBrooks Davis.It Ar report-html
171*b0d29bc4SBrooks DavisGenerates an HTML report.
172*b0d29bc4SBrooks DavisSee
173*b0d29bc4SBrooks Davis.Xr kyua-report-html 1 .
174*b0d29bc4SBrooks Davis.It Ar report-junit
175*b0d29bc4SBrooks DavisGenerates a JUnit report.
176*b0d29bc4SBrooks DavisSee
177*b0d29bc4SBrooks Davis.Xr kyua-report-junit 1 .
178*b0d29bc4SBrooks Davis.El
179*b0d29bc4SBrooks Davis.Pp
180*b0d29bc4SBrooks DavisThe following commands are used to interact with a test suite:
181*b0d29bc4SBrooks Davis.Bl -tag -width reportXjunitXX -offset indent
182*b0d29bc4SBrooks Davis.It Ar debug
183*b0d29bc4SBrooks DavisExecutes a single test case in a controlled environment for debugging purposes.
184*b0d29bc4SBrooks DavisSee
185*b0d29bc4SBrooks Davis.Xr kyua-debug 1 .
186*b0d29bc4SBrooks Davis.It Ar list
187*b0d29bc4SBrooks DavisLists test cases defined in a test suite by a
188*b0d29bc4SBrooks Davis.Xr kyuafile 5
189*b0d29bc4SBrooks Davisand, optionally, displays their metadata.
190*b0d29bc4SBrooks DavisSee
191*b0d29bc4SBrooks Davis.Xr kyua-list 1 .
192*b0d29bc4SBrooks Davis.It Ar test
193*b0d29bc4SBrooks DavisRuns tests defined in a test suite by a
194*b0d29bc4SBrooks Davis.Xr kyuafile 5 .
195*b0d29bc4SBrooks DavisSee
196*b0d29bc4SBrooks Davis.Xr kyua-test 1 .
197*b0d29bc4SBrooks Davis.El
198*b0d29bc4SBrooks Davis.Ss Logging
199*b0d29bc4SBrooks Davis.Nm
200*b0d29bc4SBrooks Davishas a logging facility that collects all kinds of events at run time.
201*b0d29bc4SBrooks DavisThese events are always logged to a file so that the log is available when
202*b0d29bc4SBrooks Davisit is most needed: right after a non-reproducible problem happens.
203*b0d29bc4SBrooks DavisThe only way to disable logging is by sending the log to
204*b0d29bc4SBrooks Davis.Pa /dev/null .
205*b0d29bc4SBrooks Davis.Pp
206*b0d29bc4SBrooks DavisThe location of the log file can be manually specified with the
207*b0d29bc4SBrooks Davis.Fl -logfile
208*b0d29bc4SBrooks Davisoption, which applies to all commands.
209*b0d29bc4SBrooks DavisIf no file is explicitly specified, the location of the log files is chosen in
210*b0d29bc4SBrooks Davisthis order:
211*b0d29bc4SBrooks Davis.Bl -enum -offset indent
212*b0d29bc4SBrooks Davis.It
213*b0d29bc4SBrooks Davis.Pa ${HOME}/.kyua/logs/
214*b0d29bc4SBrooks Davisif
215*b0d29bc4SBrooks Davis.Va HOME
216*b0d29bc4SBrooks Davisis defined.
217*b0d29bc4SBrooks Davis.It
218*b0d29bc4SBrooks Davis.Pa ${TMPDIR}/
219*b0d29bc4SBrooks Davisif
220*b0d29bc4SBrooks Davis.Va TMPDIR
221*b0d29bc4SBrooks Davisis defined.
222*b0d29bc4SBrooks Davis.It
223*b0d29bc4SBrooks Davis.Pa /tmp/ .
224*b0d29bc4SBrooks Davis.El
225*b0d29bc4SBrooks Davis.Pp
226*b0d29bc4SBrooks DavisAnd the default naming scheme of the log files is:
227*b0d29bc4SBrooks Davis.Sq <progname>.<timestamp>.log .
228*b0d29bc4SBrooks Davis.Pp
229*b0d29bc4SBrooks DavisThe messages stored in the log file have a level (or severity) attached to
230*b0d29bc4SBrooks Davisthem.
231*b0d29bc4SBrooks DavisThese are:
232*b0d29bc4SBrooks Davis.Bl -tag -width warningXX -offset indent
233*b0d29bc4SBrooks Davis.It error
234*b0d29bc4SBrooks DavisFatal error messages.
235*b0d29bc4SBrooks DavisThe program generally terminates after these, either in a clean manner or by
236*b0d29bc4SBrooks Daviscrashing.
237*b0d29bc4SBrooks Davis.It warning
238*b0d29bc4SBrooks DavisNon-fatal error messages.
239*b0d29bc4SBrooks DavisThese generally report a condition that must be addressed but the application
240*b0d29bc4SBrooks Daviscan continue to run.
241*b0d29bc4SBrooks Davis.It info
242*b0d29bc4SBrooks DavisInformational messages.
243*b0d29bc4SBrooks DavisThese tell the user what the program was doing at a general level of
244*b0d29bc4SBrooks Davisoperation.
245*b0d29bc4SBrooks Davis.It debug
246*b0d29bc4SBrooks DavisDetailed informational messages.
247*b0d29bc4SBrooks DavisThese are often useful when debugging problems in the application, as they
248*b0d29bc4SBrooks Daviscontain lots of internal details.
249*b0d29bc4SBrooks Davis.El
250*b0d29bc4SBrooks Davis.Pp
251*b0d29bc4SBrooks DavisThe default log level is
252*b0d29bc4SBrooks Davis.Sq info
253*b0d29bc4SBrooks Davisunless explicitly overridden with
254*b0d29bc4SBrooks Davis.Fl -loglevel .
255*b0d29bc4SBrooks Davis.Pp
256*b0d29bc4SBrooks DavisThe log file is a plain text file containing one line per log record.
257*b0d29bc4SBrooks DavisThe format of each line is as follows:
258*b0d29bc4SBrooks Davis.Bd -literal -offset indent
259*b0d29bc4SBrooks Davistimestamp entry_type pid file:line: message
260*b0d29bc4SBrooks Davis.Ed
261*b0d29bc4SBrooks Davis.Pp
262*b0d29bc4SBrooks Davis.Ar entry_type
263*b0d29bc4SBrooks Daviscan be one of:
264*b0d29bc4SBrooks Davis.Sq E
265*b0d29bc4SBrooks Davisfor an error,
266*b0d29bc4SBrooks Davis.Sq W
267*b0d29bc4SBrooks Davisfor a warning,
268*b0d29bc4SBrooks Davis.Sq I
269*b0d29bc4SBrooks Davisfor an informational message and
270*b0d29bc4SBrooks Davis.Sq D
271*b0d29bc4SBrooks Davisfor a debug message.
272*b0d29bc4SBrooks Davis.Ss Bug reporting
273*b0d29bc4SBrooks DavisIf you think you have encountered a bug in
274*b0d29bc4SBrooks Davis.Nm ,
275*b0d29bc4SBrooks Davisplease take the time to let the developers know about it.
276*b0d29bc4SBrooks DavisThis will ensure that the bug is addressed and potentially fixed in the next
277*b0d29bc4SBrooks DavisKyua release.
278*b0d29bc4SBrooks Davis.Pp
279*b0d29bc4SBrooks DavisThe first step in reporting a bug is to check if there already is a similar
280*b0d29bc4SBrooks Davisbug in the database.
281*b0d29bc4SBrooks DavisYou can check what issues are currently in the database by going to:
282*b0d29bc4SBrooks Davis.Bd -literal -offset indent
283*b0d29bc4SBrooks Davishttps://github.com/jmmv/kyua/issues/
284*b0d29bc4SBrooks Davis.Ed
285*b0d29bc4SBrooks Davis.Pp
286*b0d29bc4SBrooks DavisIf there is no existing issue that describes an issue similar to the
287*b0d29bc4SBrooks Davisone you are experiencing, you can open a new one by visiting:
288*b0d29bc4SBrooks Davis.Bd -literal -offset indent
289*b0d29bc4SBrooks Davishttps://github.com/jmmv/kyua/issues/new/
290*b0d29bc4SBrooks Davis.Ed
291*b0d29bc4SBrooks Davis.Pp
292*b0d29bc4SBrooks DavisWhen doing so, please include as much detail as possible.
293*b0d29bc4SBrooks DavisAmong other things, explain what operating system and platform you are running
294*b0d29bc4SBrooks Davis.Nm
295*b0d29bc4SBrooks Davison, what were you trying to do, what exact messages you saw on the screen,
296*b0d29bc4SBrooks Davishow did you expect the program to behave, and any other details that you
297*b0d29bc4SBrooks Davismay find relevant.
298*b0d29bc4SBrooks Davis.Pp
299*b0d29bc4SBrooks DavisAlso, please include a copy of the log file corresponding to the problem
300*b0d29bc4SBrooks Davisyou are experiencing.
301*b0d29bc4SBrooks DavisUnless you have changed the location of the log files, you can most likely
302*b0d29bc4SBrooks Davisfind them in
303*b0d29bc4SBrooks Davis.Pa ~/.kyua/logs/ .
304*b0d29bc4SBrooks DavisIf the problem is reproducible, it is good idea to regenerate the log file
305*b0d29bc4SBrooks Daviswith an increased log level so as to provide more information.
306*b0d29bc4SBrooks DavisFor example:
307*b0d29bc4SBrooks Davis.Bd -literal -offset indent
308*b0d29bc4SBrooks Davis$ kyua --logfile=problem.log --loglevel=debug \\
309*b0d29bc4SBrooks Davis    [rest of the command line]
310*b0d29bc4SBrooks Davis.Ed
311*b0d29bc4SBrooks Davis.Sh ENVIRONMENT
312*b0d29bc4SBrooks DavisThe following variables are recognized and can be freely tuned by the end user:
313*b0d29bc4SBrooks Davis.Bl -tag -width COLUMNSXX
314*b0d29bc4SBrooks Davis.It Va COLUMNS
315*b0d29bc4SBrooks DavisThe width of the screen, in number of characters.
316*b0d29bc4SBrooks Davis.Nm
317*b0d29bc4SBrooks Davisuses this to wrap long lines.
318*b0d29bc4SBrooks DavisIf not present, the width of the screen is determined from the terminal
319*b0d29bc4SBrooks Davisstdout is connected to, and, if the guessing fails, this defaults to infinity.
320*b0d29bc4SBrooks Davis.It Va HOME
321*b0d29bc4SBrooks DavisPath to the user's home directory.
322*b0d29bc4SBrooks Davis.Nm
323*b0d29bc4SBrooks Davisuses this location to determine paths to configuration files and default log
324*b0d29bc4SBrooks Davisfiles.
325*b0d29bc4SBrooks Davis.It Va TMPDIR
326*b0d29bc4SBrooks DavisPath to the system-wide temporary directory.
327*b0d29bc4SBrooks Davis.Nm
328*b0d29bc4SBrooks Davisuses this location to place the work directory of test cases, among other
329*b0d29bc4SBrooks Davisthings.
330*b0d29bc4SBrooks Davis.Pp
331*b0d29bc4SBrooks DavisThe default value of this variable depends on the operating system.
332*b0d29bc4SBrooks DavisIn general, it is
333*b0d29bc4SBrooks Davis.Pa /tmp .
334*b0d29bc4SBrooks Davis.El
335*b0d29bc4SBrooks Davis.Pp
336*b0d29bc4SBrooks DavisThe following variables are also recognized, but you should not need to set them
337*b0d29bc4SBrooks Davisduring normal operation.
338*b0d29bc4SBrooks DavisThey are only provided to override the value of built-in values, which is useful
339*b0d29bc4SBrooks Daviswhen testing
340*b0d29bc4SBrooks Davis.Nm
341*b0d29bc4SBrooks Davisitself:
342*b0d29bc4SBrooks Davis.Bl -tag -width KYUAXCONFDIRXX
343*b0d29bc4SBrooks Davis.It Va KYUA_CONFDIR
344*b0d29bc4SBrooks DavisPath to the system-wide configuration files for
345*b0d29bc4SBrooks Davis.Nm .
346*b0d29bc4SBrooks Davis.Pp
347*b0d29bc4SBrooks DavisDefaults to
348*b0d29bc4SBrooks Davis.Pa __CONFDIR__ .
349*b0d29bc4SBrooks Davis.It Va KYUA_DOCDIR
350*b0d29bc4SBrooks DavisPath to the location of installed documentation.
351*b0d29bc4SBrooks Davis.Pp
352*b0d29bc4SBrooks DavisDefaults to
353*b0d29bc4SBrooks Davis.Pa __DOCDIR__ .
354*b0d29bc4SBrooks Davis.It Va KYUA_MISCDIR
355*b0d29bc4SBrooks DavisPath to the location of the installed miscellaneous scripts and data
356*b0d29bc4SBrooks Davisfiles provided by
357*b0d29bc4SBrooks Davis.Nm .
358*b0d29bc4SBrooks Davis.Pp
359*b0d29bc4SBrooks DavisDefaults to
360*b0d29bc4SBrooks Davis.Pa __MISCDIR__ .
361*b0d29bc4SBrooks Davis.It Va KYUA_STOREDIR
362*b0d29bc4SBrooks DavisPath to the location of the installed store support files; e.g., the
363*b0d29bc4SBrooks Davisdirectory containing the SQL database schema.
364*b0d29bc4SBrooks Davis.Pp
365*b0d29bc4SBrooks DavisDefaults to
366*b0d29bc4SBrooks Davis.Pa __STOREDIR__ .
367*b0d29bc4SBrooks Davis.El
368*b0d29bc4SBrooks Davis.Sh FILES
369*b0d29bc4SBrooks Davis.Bl -tag -width XXXX
370*b0d29bc4SBrooks Davis.It Pa ~/.kyua/store/
371*b0d29bc4SBrooks DavisDefault location for the results files.
372*b0d29bc4SBrooks Davis.It Pa ~/.kyua/kyua.conf
373*b0d29bc4SBrooks DavisUser-specific configuration file.
374*b0d29bc4SBrooks Davis.It Pa ~/.kyua/logs/
375*b0d29bc4SBrooks DavisDefault location for the collected log files.
376*b0d29bc4SBrooks Davis.It Pa __CONFDIR__/kyua.conf
377*b0d29bc4SBrooks DavisSystem-wide configuration file.
378*b0d29bc4SBrooks Davis.El
379*b0d29bc4SBrooks Davis.Sh EXIT STATUS
380*b0d29bc4SBrooks Davis.Nm
381*b0d29bc4SBrooks Davisreturns 0 on success, 1 on a controlled error condition in the given
382*b0d29bc4SBrooks Davissubcommand, 2 on a general unexpected error and 3 on a usage error.
383*b0d29bc4SBrooks Davis.Pp
384*b0d29bc4SBrooks DavisThe documentation of the subcommands in the corresponding manual pages only
385*b0d29bc4SBrooks Davisdetails the difference between a successful exit (0) and the detection of a
386*b0d29bc4SBrooks Daviscontrolled error (1).
387*b0d29bc4SBrooks DavisEven though when those manual pages do not describe any other exit statuses,
388*b0d29bc4SBrooks Daviscodes above 1 can be returned.
389*b0d29bc4SBrooks Davis.Sh SEE ALSO
390*b0d29bc4SBrooks Davis.Xr kyua.conf 5 ,
391*b0d29bc4SBrooks Davis.Xr kyuafile 5 ,
392*b0d29bc4SBrooks Davis.Xr atf 7 ,
393*b0d29bc4SBrooks Davis.Xr tests 7
394*b0d29bc4SBrooks Davis.Sh AUTHORS
395*b0d29bc4SBrooks DavisFor more details on the people that made
396*b0d29bc4SBrooks Davis.Nm
397*b0d29bc4SBrooks Davispossible and the license terms, run:
398*b0d29bc4SBrooks Davis.Bd -literal -offset indent
399*b0d29bc4SBrooks Davis$ kyua about
400*b0d29bc4SBrooks Davis.Ed
401