doc/main/intro/testing_approach.rst
.. _testing_approach:
There are four main types of errors/hazards you can encounter in the development of libraries for parallelism:
|short_name| testing approach is designed to provide high coverage of these error types. All types of errors are covered with unit testing and code review.
Code coverage metrics are tracked to ensure high code coverage with tests. Uncovered branches are analyzed manually. Memory errors and data races are additionally covered by special tools that include thread and memory sanitizers.
Race conditions and deadlocks are the most complicated errors. They are covered by:
.. note:: Every fix is required to be covered by a regression test to guarantee the detection of such issues in the future.
Continuous Integration triggers all the tests on each commit. This ensures that: