> ## Documentation Index
> Fetch the complete documentation index at: https://docs.incredibuild.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IBTestConsole Command Interface (for NUnit, GTest)

Last updated on Oct 23, 2025

The following chapter includes instructions on how to run Incredibuild for Unit Tests when using NUnit or GTest.

## Supported Frameworks:

* NUnit 2

* NUnit 3

* Google Test (Gtest)

IBtestConsole will automatically detect the executed framework. However, if you want to force it to run a specific framework, you can use the /test flag described below.

## Configuring IBTestConsole

To configure the IBTestConsole, you need to run the **IBTestConsole.exe** file, located in the Incredibuild installation folder.

## Running Unit Tests Using IBTestConsole

The IBTestConsole commands follow the following syntax:

```
IBTestConsole [Framework Command + Flags] [IBTestConsole Command Line Options]
```

* **Command**- stands for the original command of your Unit tests framework. The command may include specific flags (described below)

* **Options**– one of the options described in the section below.

### Supported Framework Command Flags

Incredibuild only supports the following framework command flags:

#### *NUnit 2 Supported Flags*

[Nunit2 CLI reference](https://nunit.org/docs/2.6.2/consoleCommandLine.html)

* ```
  /run
  ```

* ```
  /runlist
  ```

* ```
  /include
  ```

* ```
  /exclude
  ```

* ```
  /result, /xml
  ```

* ```
  /noresult, /noxml
  ```

* ```
  /framework
  ```

* ```
  /timeout
  ```

#### *NUnit 3 Command Flags*

[NUnit3 CLI reference](https://github.com/nunit/docs/wiki/Console-Command-Line)

* ```
  @FILE
  ```

* ```
  --testlist=FILE
  ```

* ```
  --where=EXPRESSION
  ```

* ```
  --config=NAME
  ```

* ```
  --framework=FRAMEWORK
  ```

* ```
  --timeout=MILLISECONDS
  ```

* ```
  --seed=SEED
  ```

* ```
  --skipnontestassemblies
  ```

* ```
  --result=SPEC
  ```

* ```
  --noresult
  ```

* ```
  --shadowcopy
  ```

* ```
  --noheader, --noh
  ```

* ```
  --params | p=PARAMETER
  ```

* ```
  --dispose-runners
  ```

#### *GTest Command Flags*

* `--gtest_output`

* `--gtest_output`=(json|xml)\[:DIRECTORY\_PATH|:FILE\_PATH]

* `--gtest_filter`

* `--gtest_filter`=POSTIVE\_PATTERNS\[-NEGATIVE\_PATTERNS]

* `--gtest_also_run_disabled_tests`

* `--gtest_repeat`=\[COUNT]

* `--gtest_shuffle`

* `--gtest_random_seed`=\[NUMBER]

### IBTestConsole Command Line Options

The following options can be added at the end of the IBTestConsole command.

| Option                 | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Notes                                                                                                                                                                                                                                                                                                                         |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| /help                  | Show this message on the screen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |                                                                                                                                                                                                                                                                                                                               |
| /logfile=\<filename>   | Specifies the log file name                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                                                                                                                                                                                               |
| /loglevel=\<level>     | Sets logging level. Can be \[trace,debug,info,warning,error,fatal]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |                                                                                                                                                                                                                                                                                                                               |
| /openmonitor           | Opens the Build Monitor when a test is run                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |                                                                                                                                                                                                                                                                                                                               |
| /targetdir=\<path>     | Specifies the working directory on which the test framework operated.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | This command should be used in case the IBTestConsole was not initiated from the same directory as the test assemblies.                                                                                                                                                                                                       |
| /testlevel=\<level>    | Specifies the test distribution level. <br /> Supported values=\[auto, assembly, deep, suite, \<number of cores to engage>]. Default value is auto. <br /> Assembly – Distribute one assembly per core. <br /> Auto - Use the maximum available cores. <br /> Deep – Uses all the available cores in the pool, while striving to run each test in a different core. <br /> Suite - Distribute based on suites (one suite per core). <br /> Number of cores – Limit the number of cores to be used for each assembly. Incredibuild will distribute all the tests evenly between the cores (e.g. if there are 1000 tests and N=200, each of the 200 cores will run 5 tests). | The number of cores to be used may determine the efficiency of the parallelization. In general, you should set the /testlevel=N command option so that N should be around x2.5 of the number of cores that you have on your local machine. To learn more about test level optimization, see Advanced Test Level Optimization. |
| /test=\{framework}     | Forces IBTestConsole to handle the executed command as a specific framework.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | Supported frameworks: <br /> /test=NUnit3 <br /> /test=NUnit2 <br /> /test=GTest                                                                                                                                                                                                                                              |
| /silent                | Set silent mode (disable output to console)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                                                                                                                                                                                               |
| /MinWinVer=\<version>  | Minimum required Windows version of helper Agents. <br /> Support values = \[XP, 2003, Vista, 2008, 7, 8, 8.1, 10]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |                                                                                                                                                                                                                                                                                                                               |
| /MaxWinVer=\<version>  | Maximum allowed Windows version of helper Agents. <br /> Support values = \[XP, 2003, Vista, 2008, 7, 8, 8.1, 10]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                               |
| /out=\<filename>       | Redirects the entire command line output to a file                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |                                                                                                                                                                                                                                                                                                                               |
| `/title="<text>"`      | Adds a line of text to build output                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                                                                                                                                                                                               |
| /inputfile=\<filename> | Specify input file name. Only supported for Gtest                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                               |

### Return Codes

| Code | Description                                                                                                                                                                                                                                                                                                                                                |
| ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 0    | Successfully exited. This means that no internal error occurred during any of the following stages: <br /> user command was correct <br /> discovery stage finished fine <br /> all tests were successfully executed <br /> The results were successfully merged (even with test failures) <br /> Console output was displayed to the user (if applicable) |
| 1    | Internal error during execution for any of stages described above                                                                                                                                                                                                                                                                                          |
| -1   | Unexpected internal error. in real shouldn't ever occur                                                                                                                                                                                                                                                                                                    |
