Wiki

Clone wiki

Boost::Test Task / Home

Boost::Test Task for Bamboo Documentation

Use Boost::Test C++ Framework with Bamboo! The addon runs multiple tests in parallel and parses their results.

1. Overview

Boost is a large collection of free peer-reviewed portable C++ source libraries. There are many useful libraries. One of those libraries is Boost::Test, a library for writing and organizing C++ unit tests. This addon (plugin) provides integration of Boost::Test C++ Framework with Atlassian Bamboo.

Features

  • Run tests faster using parallel execution
  • Define tests by Ant Style Pattern
  • One task for a test runner and a log parser
  • Parse-only mode
  • Customize tests with environment variables
  • Avoid test name collision
  • Configurable test execution timeout

Compatibility

  • Version 1.1.x => Bamboo 8.0-9.x (DC only)
  • Version 1.0.x => Bamboo 5.0-9.6

For download and purchasing details visit Atlassian Marketplace.

2. Admin guide

2.1. How to install

The Universal Plugin Manager (UPM) is a tool for administering apps in Atlassian applications. You can use the UPM to find and install, manage, and configure apps:

3. User guide

3.1. Task parameters (general)

Parameter Description
Parse-Only Mode If turned on the plugin won't run test executables but parse already created test output files. Default value is off.
Subdirectory By default the working directory (where Ant Style Pattern is applied) is a plan directory. However it can be changed to any other relative directory. For example you can set it to a build output directory.

Example: bin/release

3.2. Task parameters (normal mode)

Parameter Description
Test Executables This is a comma separated list of test executables. You can use Ant Style Pattern to define them. The task fails if there is no test executables or any of them is not producing a valid Boost::Test output. Note: if a test doesn't produce any output during the specified timeout value (can be changed in advanced options) it is treated as hanging and will be terminated.

Example: *test*.exe, **/test.exe,mytest.exe
Environment Variables There you can specify any extra environment variables you want to pass to your tests. Use the format <name>=<value> and separate name-value pairs with spaces.

Example: myvar1="my value" myvar2=value2

3.3. Task parameters (parse-only mode)

Parameter Description
Test Output Files This is a comma separated list of test output files. You can use Ant Style Pattern to define them. To get proper xml files use the following command line options during tests execution: --output_format=xml --log_level=test_suite.

Example: *test*.xml, **/test.xml,mytest.xml
Pick Outdated Files If turned on the plugin will process all matched files. Otherwise only files changed after the build start time will be processed. Default value is off.

3.4. Task parameters (advanced)

Parameter Description
Use task name to avoid name collisions Task name will be appended to a test suite name (to fulfill Bamboo requirement for unique names).
Use file name to avoid name collisions File name will be appended to a test suite name (to fulfill Bamboo requirement for unique names).
Timeout Test execution timeout, in minutes. Default value is 10.

4. Release notes

4.1. Version 1.1.x (for Bamboo 8.0-9.x DC only)

Version 1.1.0 (29 Mar 2024)

  • Enh: Drop Bamboo Server support (only DC now)
  • Enh: Update dependencies

4.2. Version 1.0.x (for Bamboo 5.0-9.6)

Version 1.0.18 (24 Feb 2022)

  • New #18: Data Center compatibility

Version 1.0.17 (19 Jan 2022)

  • New: INCOMING DATA CENTER APPROVAL

Version 1.0.15 (27 Sep 2020)

  • New #17: Get results for tests that print extra info to stdout

Version 1.0.14 (20 Sep 2020)

  • New #16: Get results for tests that set log level in their code

Version 1.0.12 (15 Mar 2020)

  • New: Bamboo 7.0 support

Version 1.0.11 (01 Oct 2018)

  • Fix #15: Test results can be missed in rare cases under multithreaded load

Version 1.0.10 (25 Dec 2017)

  • Fix #12: Timeout field is not set to its default value

Version 1.0.9 (01 Jun 2017)

  • Fix: NumberFormatException bug introduced in 1.0.8

Version 1.0.8 (01 Jun 2017)

  • New #11: Ability to change test execution timeout value

Version 1.0.7 (06 Dec 2016)

  • New #10: Avoid test name collision
  • New: Drop Bamboo 4.x support
  • New: Update to transformless plugin model

Version 1.0.6 (12 Apr 2016)

  • Fix #9: A test is failed with a return code 200 (was not fully fixed in 1.0.5)

Version 1.0.5 (11 Apr 2016)

  • Fix #9: A test is failed with a return code 200

Version 1.0.4 (02 Nov 2015)

  • Fix #7: Do not check modification time for executables

Version 1.0.3 (23 Jul 2015)

  • New #6: Make plugin usable purely to parse test logs

Version 1.0.2 (26 Oct 2014)

  • Fix #1: Java Error PluginLicenseManager when using BoostTestTask
  • Fix #3: Set idle timeout on Bamboo 4.x
  • Fix #4: Under certain circumstances threadpool is shut down too early without executing tests
  • New #5: Add friendly log messages if a test is timeouted or crashed

Version 1.0.1 (30 Jul 2014)

  • Fix: Bamboo 5.6 compatibility
  • New: Move to the API provided by UPM 2.x.
  • New: BoostTest -> Boost::Test

Version 1.0.0 (14 Jul 2014)

  • Initial public release

5. Support

If you find a bug, have a feature request or have an idea how to improve this plugin please post it to the public bug tracker.

6. Contact

Feel free to contact us via email and visit our website.

Updated