v3 flag enabled
Log In
Log In

Test Matrix

Test Matrix

Introduction

The Boost Test Matrix is an automated testing system that runs tests on Boost libraries across a wide range of platforms, compiler versions, and configurations. Its primary purpose is to ensure that the libraries work correctly under various conditions and to identify any compatibility issues.

The Test Matrix includes tests run on different operating systems (Windows, Linux, macOS) and with various compilers (such as GCC, Clang, MSVC). This diversity helps in catching issues that might only appear in specific environments.

For information on running regression tests locally, refer to https://www.boost.org/doc/contributor-guide/testing/regression-tests.html">Local Regression Tests.

Regression Dashboard

The results of library tests are published on the Boost Regression Testing Dashboard:

Version

Results

Issues

Develop branch

https://regression.boost.org/develop/developer/summary.html">Summary

https://regression.boost.org/develop/developer/issues.html">Unresolved Issues

Master branch

https://regression.boost.org/master/developer/summary.html">Summary

https://regression.boost.org/master/developer/issues.html">Unresolved Issues

This dashboard is publicly accessible and provides detailed information about the test results for most libraries.

Handling Test Failures

If your contribution causes test failures, it’s expected that you take responsibility for fixing them. This might involve making code adjustments or collaborating with others if the issue is complex, or affects multiple parts of Boost.

On the dashboard, you will find a matrix of test results. The columns represent different test runners (which correspond to different platforms, compiler versions, etc.), and the rows represent individual libraries.

When you click on the Dashboard URL, you will see the test Summary.

test matrix summaryhttps://www.boost.org/doc/contributor-guide/_images/test-matrix-summary.png">

The table is large, and you will need to scroll up and down and left and right to view all relevant results. Note that some entries are underlined (even OK entries) which indicates they are links to further information.

test matrix samplehttps://www.boost.org/doc/contributor-guide/_images/test-matrix-sample.png">

Dashboard Legend

The dashboard uses different colors or labels to indicate the status of the tests (such as 'pass', 'fail', or 'unresolved'). Understanding these labels is key to interpreting the test results correctly. Note that some tests are expected to fail.

test matrix legendhttps://www.boost.org/doc/contributor-guide/_images/test-matrix-legend.png">

By clicking on specific cells in the matrix, you can view detailed results for a particular library and test runner. This includes information about which tests passed, which failed, and often detailed logs of the test runs.

test matrix sample 2https://www.boost.org/doc/contributor-guide/_images/test-matrix-sample-2.png">

Example

For example, click on the https://www.boost.org/libs/asio">Boost.Asio entry in the left-hand column, and you will bring up the test matrix for the Asio/Master library.

Next Post

  • C++ for beginners
    #Compat
    Learn C++ from the ground up with clear explanations and real examples. ⚡ Perfect for beginners who want strong fundamentals, not just syntax.