---
name: "aesubunit"
section: "1"
platform: "linux"
package: "aegis"
version: "4.24.3-3"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/aesubunit"
---

# aesubunit(1)

run SubUnit tests

## 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)](/aegis/1.md) 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)](/aeuconf/5.md) 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 [*aesubunit*(1)](/aesubunit/1.md) for options common to all aesubunit 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)](/aegis/1.md) for a list of environment variables which may affect this command. See [*aepconf*(5)](/aepconf/5.md) 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

| | | |
| --- | --- | --- |
| Peter Miller | E-Mail: | millerp@canb.auug.org.au |
| `/\/\*` | WWW: | http://www.canb.auug.org.au/~millerp/ |
