Wiki

Clone wiki

GoogleTest Task / Home

GoogleTest Task for Bamboo Documentation

Use Google C++ Testing Framework with Bamboo. The addon runs multiple tests in parallel and parses their results.

1. Overview

This addon provides integration of Google C++ Testing 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
  • Show parameters of parametrized tests
  • Parse-only mode
  • Customize tests with environment variables
  • Avoid test name collision
  • Configurable test execution timeout

Compatibility

  • Version 1.0.x => Bamboo 5.0-8.x

For download and purchasing details visit Atlassian Marketplace.

2. Admin guide

2.1. How to install

  1. Log into your Bamboo instance as an admin.
  2. Click the admin dropdown and choose Add-ons. The Manage add-ons screen loads.
  3. Click Find new add-ons from the left-hand side of the page.
  4. Locate GoogleTest Task via search. The appropriate add-on version appears in the search results.
  5. Click Try free to begin a new trial or Buy now to purchase a license for GoogleTest Task. You're prompted to log into MyAtlassian. GoogleTest Task begins to download.
  6. Enter your information and click Generate license when redirected to MyAtlassian.
  7. Click Apply license. If you're using an older version of UPM, you can copy and paste the license into your Bamboo instance.

3. User guide

3.1. Task parameters (general)

Parse-Only ModeIf turned on the plugin won't run test executables but parse already created test output files. Default value is off.
SubdirectoryBy 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.

Examples: bin/release


3.2. Task parameters (normal mode)

ParameterDescription
Test ExecutablesThis 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 GoogleTest output. Note: if a test doesn't produce any output during 10 minutes it is treated as hanging and will be terminated.

Examples: *test*.exe, **/test.exe,mytest.exe
Environment VariablesThere 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.

Examples: myvar1="my value" myvar2=value2


3.3. Task parameters (parse-only mode)

ParameterDescription
Test Output FilesThis 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: --gtest_output=xml:./.

Examples: *test*.xml, **/test.xml,mytest.xml
Pick Outdated FilesIf 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)

ParameterDescription
Use task name to avoid name collisionsTask name will be appended to a test suite name (to fulfill Bamboo requirement for unique names).
Use file name to avoid name collisionsFile name will be appended to a test suite name (to fulfill Bamboo requirement for unique names).
TimeoutTest execution timeout, in minutes. Default value is 10.


4. Release notes

Version 1.0.9 (15 May 2022)

  • New: Data Center compatibility release

Version 1.0.8 (20 Feb 2022)

  • New: INCOMING DATA CENTER APPROVAL

Version 1.0.7 (15 Mar 2020)

  • New: Bamboo 7.0 support

Version 1.0.6 (13 Jan 2019)

  • New: Dump stdout before parsing output file (improve troubleshooting)

Version 1.0.5 (15 Dec 2018)

  • Fix #9: Value of "Pick up test results that were created outside of this build" is reversed

Version 1.0.4 (13 Dec 2018)

  • New #6: Automatically exclude xml files in search pattern for binaries
  • New #8: Better logging of ExecutionException and TaskException
  • Fix #7: New lines are broken in build log on Linux

Version 1.0.3 (1 Oct 2018)

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

Version 1.0.2 (25 Dec 2017)

  • New #2: Avoid test name collision
  • New #3: Ability to change test execution timeout value

Version 1.0.1 (30 Oct 2016)

  • Fix #1: Update logo image

Version 1.0.0 (09 May 2016)

  • 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 support@stellaritysoftware.com and visit our website.

Updated