Repository Analysis

catchorg/Catch2

A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)

2.3 Likely human-written View on GitHub
2.3
Adjusted Score
2.3
Raw Score
100%
Time Factor
2026-05-14
Last Push
20,411
Stars
C++
Language
207,639
Lines of Code
539
Files
533
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 3LOW 530

Pattern Findings

533 matches across 8 categories. Click a row to expand file-level details.

Over-Commented Block504 hits · 438 pts
SeverityFileLineSnippet
LOWtools/scripts/extractFeaturesFromReleaseNotes.py1#!/usr/bin/env python3
LOWtools/scripts/updateDocumentSnippets.py1#!/usr/bin/env python3
LOWtools/scripts/updateDocumentToC.py1#!/usr/bin/env python3
LOWfuzzing/fuzz_textflow.cpp1
LOWtests/SelfTest/TestRegistrations.cpp1
LOWtests/SelfTest/IntrospectiveTests/ToString.tests.cpp1
LOW…elfTest/IntrospectiveTests/InternalBenchmark.tests.cpp1
LOWtests/SelfTest/IntrospectiveTests/Json.tests.cpp1
LOW…s/SelfTest/IntrospectiveTests/GeneratorsImpl.tests.cpp1
LOWtests/SelfTest/IntrospectiveTests/Details.tests.cpp1
LOWtests/SelfTest/IntrospectiveTests/Reporters.tests.cpp1
LOWtests/SelfTest/IntrospectiveTests/CmdLine.tests.cpp1
LOWtests/SelfTest/IntrospectiveTests/TestSpec.tests.cpp1
LOW…st/IntrospectiveTests/RandomNumberGeneration.tests.cpp1
LOWtests/SelfTest/IntrospectiveTests/Integer.tests.cpp21 CHECK( extendedMult( b, a ) ==
LOWtests/SelfTest/IntrospectiveTests/Xml.tests.cpp1
LOWtests/SelfTest/UsageTests/Exception.tests.cpp1
LOWtests/SelfTest/UsageTests/Exception.tests.cpp201
LOWtests/SelfTest/UsageTests/ToStringVariant.tests.cpp1
LOWtests/SelfTest/UsageTests/Generators.tests.cpp1
LOWtests/SelfTest/UsageTests/Generators.tests.cpp41 REQUIRE(x < z);
LOWtests/SelfTest/UsageTests/Misc.tests.cpp1
LOWtests/SelfTest/UsageTests/Message.tests.cpp241 return out;
LOWtests/SelfTest/UsageTests/Message.tests.cpp281
LOWtests/SelfTest/UsageTests/Compilation.tests.cpp1
LOWtests/SelfTest/UsageTests/Compilation.tests.cpp81
LOWtests/SelfTest/UsageTests/MatchersConstexpr.tests.cpp1
LOWtests/SelfTest/UsageTests/MatchersRanges.tests.cpp1
LOWtests/SelfTest/UsageTests/Tricky.tests.cpp1
LOWtests/SelfTest/UsageTests/Benchmark.tests.cpp1
LOWtests/SelfTest/UsageTests/ToStringWhich.tests.cpp1
LOWtests/SelfTest/UsageTests/Matchers.tests.cpp1
LOWtests/SelfTest/UsageTests/Condition.tests.cpp1
LOWtests/SelfTest/UsageTests/Class.tests.cpp1
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt1##teamcity[testSuiteStarted name='<exe-name>']
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt21##teamcity[testFailed name='#1514: stderr/stdout is not captured in tests aborted by an exception' message='Tricky.tests
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt41##teamcity[testStarted name='#1938 - mixed sections and generates']
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt61##teamcity[testIgnored name='#748 - captures with unexpected exceptions' message='--------------------------------------
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt81##teamcity[testFailed name='|'Not|' checks that should fail' message='Condition.tests.cpp:<line number>|nexpression fail
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt101##teamcity[testFinished name='A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - Template_Foo<int>' duratio
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt121##teamcity[testFinished name='A TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG based test run that fails - Template_Foo_2<int, 2>
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt141##teamcity[testFinished name='A TEMPLATE_TEST_CASE_METHOD based test run that fails - float' duration="{duration}"]
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt161##teamcity[testFinished name='A TEMPLATE_TEST_CASE_METHOD_SIG based test run that succeeds - 1' duration="{duration}"]
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt181##teamcity[testFinished name='A Template product test case - std::vector<float>' duration="{duration}"]
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt201##teamcity[testStarted name='Absolute margin']
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt221##teamcity[testFinished name='Approximate comparisons with floats' duration="{duration}"]
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt241##teamcity[testFinished name='Basic use of the Contains range matcher' duration="{duration}"]
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt261##teamcity[testFinished name='CaseInsensitiveLess is case insensitive' duration="{duration}"]
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt281##teamcity[testFinished name='Combining only templated matchers' duration="{duration}"]
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt301##teamcity[testFinished name='Comparisons with int literals don|'t warn when mixing signed/ unsigned' duration="{duratio
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt321##teamcity[testFinished name='Custom exceptions can be translated when testing for throwing as something else' duration=
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt341##teamcity[testStarted name='Enum backed by larger underlying type']
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt361##teamcity[testIgnored name='Equality checks that should fail' message='Condition.tests.cpp:<line number>|nexpression fa
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt381##teamcity[testFinished name='Exception matchers that fail' duration="{duration}"]
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt401##teamcity[testIgnored name='FAIL can be nested in assertion' message='AssertionHandler.tests.cpp:<line number>|n.......
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt421##teamcity[testFinished name='GENERATE can combine literals and generators' duration="{duration}"]
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt441##teamcity[testFinished name='Hashing test case produces same hash across multiple calls' duration="{duration}"]
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt461##teamcity[testIgnored name='Inequality checks that should fail' message='Condition.tests.cpp:<line number>|n...........
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt481##teamcity[testStarted name='MapGenerator can handle not default constructible types']
LOWtests/SelfTest/Baselines/teamcity.sw.approved.txt501##teamcity[testIgnored name='Mayfail test case with nested sections' message='------------------------------------------
444 more matches not shown…
Unused Imports11 hits · 11 pts
SeverityFileLineSnippet
LOWtools/scripts/approve.py5
LOWtools/scripts/releaseCommon.py3
LOWtools/scripts/approvalTests.py11
LOWtools/scripts/checkConvenienceHeaders.py19
LOWtools/scripts/updateDocumentToC.py17
LOWtests/TestScripts/testSharding.py23
LOWtests/TestScripts/testConfigureExperimentalRedirect.py13
LOWtests/TestScripts/testConfigureDisable.py13
LOWtests/TestScripts/testBazelSharding.py11
LOWtests/TestScripts/testConfigureDefaultReporter.py13
LOW…sts/TestScripts/testConfigureDisableStringification.py13
Decorative Section Separators2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMtools/scripts/updateDocumentSnippets.py7# ---------------------------------------------------
MEDIUMtools/scripts/updateDocumentSnippets.py9# ---------------------------------------------------
Fake / Example Data4 hits · 6 pts
SeverityFileLineSnippet
LOWtests/SelfTest/IntrospectiveTests/TextFlow.tests.cpp188 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque nisl \n"
LOWtests/SelfTest/IntrospectiveTests/TextFlow.tests.cpp188 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque nisl \n"
LOWtests/SelfTest/IntrospectiveTests/TextFlow.tests.cpp197 " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque nisl \n"
LOWtests/SelfTest/IntrospectiveTests/TextFlow.tests.cpp197 " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque nisl \n"
Hyper-Verbose Identifiers5 hits · 5 pts
SeverityFileLineSnippet
LOWconanfile.py38 def _compilers_minimum_version(self):
LOWtools/scripts/extractFeaturesFromReleaseNotes.py27def create_introduced_in_text(version, bug_number = None):
LOWtools/scripts/extractFeaturesFromReleaseNotes.py36def link_to_changes_in_release(release, releases):
LOWtools/scripts/extractFeaturesFromReleaseNotes.py54def write_recent_release_notes_with_introduced_text():
LOWtools/scripts/checkConvenienceHeaders.py76def verify_convenience_header(folder):
Deep Nesting3 hits · 3 pts
SeverityFileLineSnippet
LOWtools/scripts/extractFeaturesFromReleaseNotes.py54
LOWtools/scripts/fixWhitespace.py9
LOWtools/scripts/updateDocumentToC.py109
Excessive Try-Catch Wrapping2 hits · 3 pts
SeverityFileLineSnippet
LOWtests/TestScripts/testBazelExitGuardFile.py86 except Exception as ex:
MEDIUMtests/TestScripts/DiscoverTests/VerifyRegistration.py58 print('Error when building the test project')
Verbosity Indicators2 hits · 3 pts
SeverityFileLineSnippet
LOWsrc/catch2/internal/catch_run_context.cpp153 // No children have started. We need to check if they
LOWextras/catch_amalgamated.cpp5973 // No children have started. We need to check if they