IBConsole Command Interface (All frameworks excluding NUnit & GTest)

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.

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

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
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
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:

IBCosnsole /command=run.bat /test=vstest