> ## 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.

# IBConsole Command Interface (All frameworks excluding NUnit & GTest)

Last updated on Nov 05, 2024

This section includes instructions on how to configure and run Incredibuild for Unit Tests in an Assembly-level mode with all supported frameworks except NUnit.

## Supported frameworks:

IBConsole supports the following frameworks:

* MSTest

* VSTest

* XUnit

* CppUTest

* QTtest

* CTest

IBConsole will automatically detect the executed framework. However, if you want to force it to run a specific framework, you can use the `/test={test framework}` CLI command line option.

## Running the IBConsole

To configure and run the IBConsole, you should first run the **IBConsole.exe** file, located in the Incredibuild installation folder.  This is a console application that initializes Incredibuild for Unit Tests in various modes of operation, according to its various parameters.

## IBConsole Command Usage

IBConsole has two modes of operation:

* **Single command** - in this mode, the command is transferred as an argument within IBConsole /Command, as described below.

* **Multiple commands (script)** - to enable parallelization of each command in the script, the script itself should be modified before running the IBConsole command to call xgSubmit.exe and (optionally) xgWait.exe so that processes whose execution you wish to distribute. For more information, see [Using Submission Interfaces](/windows/10.30.0/devtools-command-line).

The IBConsole commands have the following syntax:

```
IBConsole /COMMAND="<job command line>" /test="<test framework>" [options]
```

* `/command` - the original command of your Unit tests framework. The command may include specific flags.

* `/test` - specifies the test framework. The available values are:

  * `MSTest`
  * `VSTest`
  * `XUnit`
  * `CppUTest`
  * `QTtest`
  * `CTest`

* **options** – the IBConsole.exe command line options. For a detailed list of available options, see [here](/windows/10.30.0/ibconsole-cli-options).

## IBConsole Command Examples

### Single Command Example

The original command:

```
ctest -C Release --parallel 100
```

The IBConsole command:

```
IBConsole /command="ctest -C Release --parallel 100" /test=ctest
```

### Multiple Commands (script) Example

The original batch file:

[Copy](javascript:void\(0\);)

```
run.bat

vstest.console.exe UnitTestProject1.dll

vstest.console.exe UnitTestProject2.dll

vstest.console.exe UnitTestProject3.dll

vstest.console.exe UnitTestProject4.dll
```

Modified batch file:

[Copy](javascript:void\(0\);)

```
xgSubmit /command vstest.console.exe UnitTestProject1.dll

xgSubmit /command vstest.console.exe UnitTestProject2.dll

xgSubmit /command vstest.console.exe UnitTestProject3.dll

xgSubmit /command vstest.console.exe UnitTestProject4.dll
```

The IBConsole command:

```
IBConsole /command=run.bat /test=vstest
```
