NAME¶
aesubunit - run SubUnit tests
SYNOPSIS¶
aesubunit [
option... ]
filename...
aesubunit -Help
aesubunit -VERSion
DESCRIPTION¶
The
aesubunit command is used to invoke tests via the
http://www.robertcollins.net/unittest/subunit unit testing interface.
The shape of the external unittest should not need to be known a-priori. After
the test has run, tests should still exist as discrete objects, so that
anything taking a reference to them doesn't get 50 copies of the same object.
The
aesubunit command may be used to replace the
test_command or
batch_test_command fields of the project configuration file.
Control Protocol¶
The results of the test are obtained by examining the standard output of the
tests as they run. The text is meant to be human readable, so that tests may
run stand-alone.
Tests should ideally print a header of the form
test
testing
test: test label
testing: test label
A successful test will produce lines of the form
success
success:
successful test label
successful: test label
A test failure will produce text of the form
failure test label failure: test
label failure test label [ ] failure: test label [ ]
The square brackets indicate text which may describe the test in more detail. It
will be printed on the standartd output by the
aesubunit program.
A test which produces no result (neither succes nor failure) uses the following
forms
error: test label error: test
label [ ]
In general, unexpected output from the test will be sent through to the
aesubunit standard output.
If a subunit test terminates with an exit status other than zero, this is taken
to be a no result indication for that test.
OPTIONS¶
The following options are understood:
- -Batch
- This option may be useed to specify that a batch test
should be performed, and produce results in the appropriate form.
- -Change number
- This option may be used to specify a particular change
within a project. See aegis(1) for a complete description of this
option.
- -Project name
- This option may be used to select the project of interest.
When no -Project option is specified, the AEGIS_PROJECT
environment variable is consulted. If that does not exist, the user's
$HOME/.aegisrc file is examined for a default project field (see
aeuconf(5) for more information). If that does not exist, when the
user is only working on changes within a single project, the project name
defaults to that project. Otherwise, it is an error.
- -Help
-
This option may be used to obtain more information about how to use the
aesubunit program.
See also
aegis(1) for options common to all aegis commands.
All options may be abbreviated; the abbreviation is documented as the upper case
letters, all lower case letters and underscores (_) are optional. You must use
consecutive sequences of optional letters.
All options are case insensitive, you may type them in upper case or lower case
or a combination of both, case is not important.
For example: the arguments "-project, "-PROJ" and "-p"
are all interpreted to mean the
-Project option. The argument
"-prj" will not be understood, because consecutive optional
characters were not supplied.
Options and other command line arguments may be mixed arbitrarily on the command
line, after the function selectors.
The GNU long option names are understood. Since all option names for
aesubunit are long, this means ignoring the extra leading '-'. The
"
--option=value" convention is also
understood.
EXIT STATUS¶
The
aesubunit command will exit with a status of 1 on any error. The
aesubunit command will only exit with a status of 0 if there are no
errors.
ENVIRONMENT VARIABLES¶
See
aegis(1) for a list of environment variables which may affect this
command. See
aepconf(5) for the project configuration file's
project_specific field for how to set environment variables for all
commands executed by Aegis.
COPYRIGHT¶
aesubunit version 4.24.3.D001
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Peter Miller
The aesubunit program comes with ABSOLUTELY NO WARRANTY; for details use the '
aesubunit -VERSion License' command. This is free software and you are
welcome to redistribute it under certain conditions; for details use the '
aesubunit -VERSion License' command.
AUTHOR¶