Skip to content

ci: add analyze-iwyu required check, bump cpputest-clang image#261

Merged
DavidCozens merged 4 commits into
mainfrom
feat/iwyu-required-ci
May 4, 2026
Merged

ci: add analyze-iwyu required check, bump cpputest-clang image#261
DavidCozens merged 4 commits into
mainfrom
feat/iwyu-required-ci

Conversation

@DavidCozens

@DavidCozens DavidCozens commented May 4, 2026

Copy link
Copy Markdown
Owner

Purpose

Promotes the IWYU gate (added in #260) to a required CI check, and bumps the
cpputest-clang container to the SHA that ships include-what-you-use.

Change Description

  • New analyze-iwyu job in .github/workflows/ci.yml.
    Mirrors the shape of analyze-tidy / analyze-cppcheck: configures the
    iwyu preset, runs the iwyu target, uploads the captured output as a
    build artifact. Uses the new clang container (sha-7eac3ab) which ships
    IWYU 0.23 built from source against the matching clang-19.
  • Container SHA bumped in three places:
    • .devcontainer/docker-compose.yml (clang dev-container service)
    • .github/workflows/ci.yml (existing build-linux-clang job + new analyze-iwyu job)
    • docs/containers.md (image-tag table)
  • analyze-iwyu added to the summary job's needs: list so the PR-level summary covers it.
  • docs/ci.md table grows by one row.

After this merges, branch protection on main should be updated to require
analyze-iwyu — that's a GitHub UI change, not part of this PR.

Test Evidence

Verified locally against the published image:

docker run --rm -v "$(pwd):/home/src" -w /home/src \
  ghcr.io/davidcozens/cpputest-clang:sha-7eac3ab \
  bash -c "cmake --preset iwyu && cmake --build --preset iwyu --target iwyu"

Result: exit 0, all files reported "has correct #includes/fwd-decls".

Areas Affected

  • CI workflow gains one job; container SHA pinning bumped.
  • No production-code changes.
  • Local clang dev-container will pull the new image on next Dev Containers: Rebuild.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores

    • Updated CI build environment container image to latest version
    • Added new CI job to perform include-what-you-use analysis and generate reports
    • Updated CI pipeline dependencies to include new analysis job
  • Documentation

    • Updated CI pipeline documentation with new job entry
    • Updated container documentation with latest image reference

@coderabbitai

coderabbitai Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@DavidCozens has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 36 minutes and 12 seconds before requesting another review.

To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: cf99dd31-cfb8-45b4-809d-a3fd4ce989d1

📥 Commits

Reviewing files that changed from the base of the PR and between 84485db and f6f6510.

📒 Files selected for processing (4)
  • .devcontainer/docker-compose.yml
  • .github/workflows/ci.yml
  • docs/ci.md
  • docs/containers.md
📝 Walkthrough

Walkthrough

This PR updates the cpputest-clang container image from SHA 0385cea to 7eac3ab across development and CI environments, and introduces a new analyze-iwyu CI job that runs include-what-you-use checks via a CMake preset, uploading the analysis output as an artifact.

Changes

Container Image Update & IWYU CI Integration

Layer / File(s) Summary
Container Image Upgrade
.devcontainer/docker-compose.yml, docs/containers.md
Container image tag bumped from sha-0385cea to sha-7eac3ab in dev compose and documentation.
IWYU Analysis Job
.github/workflows/ci.yml (lines 292–319)
New analyze-iwyu job runs the iwyu CMake preset, executes the iwyu target, and uploads build/iwyu/iwyu-output.txt as artifact.
Workflow Integration
.github/workflows/ci.yml (lines 111, 579–580)
build-linux-clang job updated to use the new container image SHA; summary job needs list extended to include analyze-iwyu.
Documentation
docs/ci.md
CI jobs table augmented with analyze-iwyu job entry describing the iwyu preset and failure conditions.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Possibly related issues

  • #255: Implements the IWYU CI gate, container image update, and associated CMake preset configuration described in the issue.

Possibly related PRs

  • #167: Both PRs update the pinned ghcr.io/davidcozens/cpputest-clang container image SHA across .devcontainer/docker-compose.yml, .github/workflows/ci.yml, and docs/containers.md.

Poem

🐰 A container hops to newer code,
IWYU joins the testing road,
Include checks now guard each line,
CI pipeline looks so fine! 🌟

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes both main changes: adding the analyze-iwyu required check and bumping the cpputest-clang image.
Description check ✅ Passed The description follows the template with all required sections (Purpose, Change Description, Test Evidence, Areas Affected) completed with specific details and context.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/iwyu-required-ci

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 36 minutes and 12 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

☀️   Quality Summary

   🚦   build-linux-gcc: 100% successful (✔️ 1025 passed, 🙈 3 skipped)
   🚦   build-linux-clang: 100% successful (✔️ 974 passed, 🙈 3 skipped)
   🚦   sanitize-linux-gcc: 100% successful (✔️ 974 passed, 🙈 3 skipped)
   🚦   integration-linux-openssl: 100% successful (✔️ 9 passed)
   🚦   bdd-linux-syslog-ng: 100% successful (✔️ 46 passed)
   🚦   bdd-windows-otel: 57% successful (✔️ 26 passed, 🙈 20 skipped)
   🚦   build-windows-msvc: 100% successful (✔️ 887 passed, 🙈 1 skipped)
   ⚠️   Clang-Tidy: No warnings
   ⚠️   CPPCheck: No warnings


Created by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/ci.yml:
- Line 580: The CI workflow currently lists analyze-iwyu in the needs array but
the Quality Monitor summary never downloads its artifact nor includes an
analysis entry; update the summary job (the job named summary) to download the
iwyu-report artifact (iwyu-report) alongside the other reports and add an
analyze-iwyu block to the Quality Monitor `analysis` array (the same location
where analyze-tidy and analyze-cppcheck are defined) so the IWYU results are
picked up by the PR quality summary.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a5e157f2-9dcc-46a0-8e20-bc8551291dd1

📥 Commits

Reviewing files that changed from the base of the PR and between 3b64613 and 84485db.

📒 Files selected for processing (4)
  • .devcontainer/docker-compose.yml
  • .github/workflows/ci.yml
  • docs/ci.md
  • docs/containers.md

Comment thread .github/workflows/ci.yml
@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

Partial score: 0/0

🚧 The grading has been aborted due to an error.

Exception

java.util.NoSuchElementException: No such parser registered: iwyu
	at edu.hm.hafner.analysis.registry.ParserRegistry.get(ParserRegistry.java:234)
	at edu.hm.hafner.grading.FileSystemAnalysisReportFactory.create(FileSystemAnalysisReportFactory.java:25)
	at edu.hm.hafner.grading.AggregatedScore.gradeAnalysis(AggregatedScore.java:424)
	at edu.hm.hafner.grading.AutoGradingRunner.run(AutoGradingRunner.java:95)
	at edu.hm.hafner.grading.github.QualityMonitor.main(QualityMonitor.java:42)

Error Messages

Quality Monitor Errors:
An error occurred while grading
java.util.NoSuchElementException: No such parser registered: iwyu
	at edu.hm.hafner.analysis.registry.ParserRegistry.get(ParserRegistry.java:234)
	at edu.hm.hafner.grading.FileSystemAnalysisReportFactory.create(FileSystemAnalysisReportFactory.java:25)
	at edu.hm.hafner.grading.AggregatedScore.gradeAnalysis(AggregatedScore.java:424)
	at edu.hm.hafner.grading.AutoGradingRunner.run(AutoGradingRunner.java:95)
	at edu.hm.hafner.grading.github.QualityMonitor.main(QualityMonitor.java:42)

Information Messages

--------------------------------------------------------------------------------
                    Start Quality Monitor 1.14.0 (#f3859fd)                     
--------------------------------------------------------------------------------
Obtaining configuration from environment variable CONFIG
================================================================================
Processing 1 test configuration(s)
Tests Configuration:
{
  "id" : "tests",
  "name" : "Tests",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "junit",
    "name" : "build-linux-gcc",
    "icon" : "",
    "pattern" : "**/junit-build-linux-gcc/cpputest_*.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "build-linux-gcc"
  }, {
    "id" : "junit",
    "name" : "build-linux-clang",
    "icon" : "",
    "pattern" : "**/junit-build-linux-clang/cpputest_*.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "build-linux-clang"
  }, {
    "id" : "junit",
    "name" : "sanitize-linux-gcc",
    "icon" : "",
    "pattern" : "**/junit-sanitize-linux-gcc/cpputest_*.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "sanitize-linux-gcc"
  }, {
    "id" : "junit",
    "name" : "integration-linux-openssl",
    "icon" : "",
    "pattern" : "**/junit-integration-linux-openssl/cpputest_*.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "integration-linux-openssl"
  }, {
    "id" : "junit",
    "name" : "bdd-linux-syslog-ng",
    "icon" : "",
    "pattern" : "**/junit-bdd-linux-syslog-ng/TESTS-*.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "bdd-linux-syslog-ng"
  }, {
    "id" : "junit",
    "name" : "bdd-windows-otel",
    "icon" : "",
    "pattern" : "**/junit-bdd-windows-otel/TESTS-*.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "bdd-windows-otel"
  }, {
    "id" : "junit",
    "name" : "build-windows-msvc",
    "icon" : "",
    "pattern" : "**/junit-build-windows-msvc/cpputest_*.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "build-windows-msvc"
  } ],
  "failureImpact" : 0,
  "passedImpact" : 0,
  "skippedImpact" : 0,
  "successRateImpact" : 0,
  "failureRateImpact" : 0
}
Searching for build-linux-gcc results matching file name pattern **/junit-build-linux-gcc/cpputest_*.xml
- quality-reports/junit-build-linux-gcc/cpputest_BlockSequenceRotation.xml: TESTS: 3
- quality-reports/junit-build-linux-gcc/cpputest_BlockSequenceScan.xml: TESTS: 5
- quality-reports/junit-build-linux-gcc/cpputest_BufferFake.xml: TESTS: 6
- quality-reports/junit-build-linux-gcc/cpputest_ClockFake.xml: TESTS: 8
- quality-reports/junit-build-linux-gcc/cpputest_DatagramFake.xml: TESTS: 10
- quality-reports/junit-build-linux-gcc/cpputest_ExampleTests_ExampleAppName.xml: TESTS: 8
- quality-reports/junit-build-linux-gcc/cpputest_ExampleTests_ExampleCommandLine.xml: TESTS: 18
- quality-reports/junit-build-linux-gcc/cpputest_ExampleTests_ExampleIps.xml: TESTS: 2
- quality-reports/junit-build-linux-gcc/cpputest_ExampleTests_ExampleLanguage.xml: TESTS: 1
- quality-reports/junit-build-linux-gcc/cpputest_ExampleTests_ExampleServiceThread.xml: TESTS: 1
- quality-reports/junit-build-linux-gcc/cpputest_ExampleTests_ExampleSwitchConfig.xml: TESTS: 6
- quality-reports/junit-build-linux-gcc/cpputest_ExampleTests_SolidSyslogExample.xml: TESTS: 15
- quality-reports/junit-build-linux-gcc/cpputest_FileFake.xml: TESTS: 35
- quality-reports/junit-build-linux-gcc/cpputest_FileFakeAfterDestroy.xml: TESTS: 10
- quality-reports/junit-build-linux-gcc/cpputest_FileFakeStaleHandle.xml: TESTS: 1
- quality-reports/junit-build-linux-gcc/cpputest_OpenSslFake.xml: TESTS: 54
- quality-reports/junit-build-linux-gcc/cpputest_SenderFake.xml: TESTS: 16
- quality-reports/junit-build-linux-gcc/cpputest_SenderFakeInstances.xml: TESTS: 5
- quality-reports/junit-build-linux-gcc/cpputest_SocketFake.xml: TESTS: 5
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslog.xml: TESTS: 50
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogAddress.xml: TESTS: 2
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogAtomicCounter.xml: TESTS: 4
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogAtomicCounterWithOps.xml: TESTS: 5
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogBlockDevice.xml: TESTS: 14
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogBlockStore.xml: TESTS: 19
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogBlockStoreCapacity.xml: TESTS: 7
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogBlockStoreCapacityThreshold.xml: TESTS: 10
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogBlockStoreConfig.xml: TESTS: 9
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogBlockStoreCorruption.xml: TESTS: 7
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogBlockStoreCorruptionRecovery.xml: TESTS: 2
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogBlockStoreDestroy.xml: TESTS: 1
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogBlockStoreErrors.xml: TESTS: 5
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogBlockStoreIntegrity.xml: TESTS: 4
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogBlockStorePosix.xml: TESTS: 2
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogBlockStoreResume.xml: TESTS: 6
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogBlockStoreRotation.xml: TESTS: 34
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogCrc16.xml: TESTS: 5
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogCrc16Policy.xml: TESTS: 7
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogFileBlockDevice.xml: TESTS: 24
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogFormatter.xml: TESTS: 99
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogGetAddrInfoResolver.xml: TESTS: 11
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogMetaSd.xml: TESTS: 18
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogNullBuffer.xml: TESTS: 8
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogNullSecurityPolicy.xml: TESTS: 4
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogNullStore.xml: TESTS: 6
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogOriginSd.xml: TESTS: 36
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogPosixClock.xml: TESTS: 20
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogPosixDatagram.xml: TESTS: 28
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogPosixFile.xml: TESTS: 12
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogPosixMessageQueueBuffer.xml: TESTS: 9
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogPosixSysUpTime.xml: TESTS: 7
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogPosixTcpStream.xml: TESTS: 37
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogPrival.xml: TESTS: 2
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogStdAtomicOps.xml: TESTS: 4
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogStreamSender.xml: TESTS: 5
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogStreamSenderConfig.xml: TESTS: 7
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogStreamSenderDestroy.xml: TESTS: 3
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogStreamSenderFailure.xml: TESTS: 19
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogSwitchingSender.xml: TESTS: 20
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogTimeQualitySd.xml: TESTS: 11
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogTimestamp.xml: TESTS: 42
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogTlsStream.xml: TESTS: 100
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogUdpPayload.xml: TESTS: 15
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogUdpSender.xml: TESTS: 25
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogUdpSenderConfig.xml: TESTS: 7
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogUdpSenderDestroy.xml: TESTS: 4
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogUdpSenderFailure.xml: TESTS: 7
- quality-reports/junit-build-linux-gcc/cpputest_SolidSyslogUdpSenderRetry.xml: TESTS: 13
- quality-reports/junit-build-linux-gcc/cpputest_StoreFake.xml: TESTS: 8
- quality-reports/junit-build-linux-gcc/cpputest_StreamFake.xml: TESTS: 13
- quality-reports/junit-build-linux-gcc/cpputest_StringFake.xml: TESTS: 2
-> build-linux-gcc Total: TESTS: 1028
-> build-linux-gcc Total: TESTS: 1028 tests
=> build-linux-gcc: 1025 tests passed, 3 skipped
Searching for build-linux-clang results matching file name pattern **/junit-build-linux-clang/cpputest_*.xml
- quality-reports/junit-build-linux-clang/cpputest_BlockSequenceRotation.xml: TESTS: 3
- quality-reports/junit-build-linux-clang/cpputest_BlockSequenceScan.xml: TESTS: 5
- quality-reports/junit-build-linux-clang/cpputest_BufferFake.xml: TESTS: 6
- quality-reports/junit-build-linux-clang/cpputest_ClockFake.xml: TESTS: 8
- quality-reports/junit-build-linux-clang/cpputest_DatagramFake.xml: TESTS: 10
- quality-reports/junit-build-linux-clang/cpputest_FileFake.xml: TESTS: 35
- quality-reports/junit-build-linux-clang/cpputest_FileFakeAfterDestroy.xml: TESTS: 10
- quality-reports/junit-build-linux-clang/cpputest_FileFakeStaleHandle.xml: TESTS: 1
- quality-reports/junit-build-linux-clang/cpputest_OpenSslFake.xml: TESTS: 54
- quality-reports/junit-build-linux-clang/cpputest_SenderFake.xml: TESTS: 16
- quality-reports/junit-build-linux-clang/cpputest_SenderFakeInstances.xml: TESTS: 5
- quality-reports/junit-build-linux-clang/cpputest_SocketFake.xml: TESTS: 5
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslog.xml: TESTS: 50
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogAddress.xml: TESTS: 2
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogAtomicCounter.xml: TESTS: 4
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogAtomicCounterWithOps.xml: TESTS: 5
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogBlockDevice.xml: TESTS: 14
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogBlockStore.xml: TESTS: 19
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogBlockStoreCapacity.xml: TESTS: 7
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogBlockStoreCapacityThreshold.xml: TESTS: 10
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogBlockStoreConfig.xml: TESTS: 9
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogBlockStoreCorruption.xml: TESTS: 7
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogBlockStoreCorruptionRecovery.xml: TESTS: 2
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogBlockStoreDestroy.xml: TESTS: 1
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogBlockStoreErrors.xml: TESTS: 5
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogBlockStoreIntegrity.xml: TESTS: 4
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogBlockStorePosix.xml: TESTS: 2
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogBlockStoreResume.xml: TESTS: 6
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogBlockStoreRotation.xml: TESTS: 34
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogCrc16.xml: TESTS: 5
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogCrc16Policy.xml: TESTS: 7
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogFileBlockDevice.xml: TESTS: 24
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogFormatter.xml: TESTS: 99
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogGetAddrInfoResolver.xml: TESTS: 11
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogMetaSd.xml: TESTS: 18
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogNullBuffer.xml: TESTS: 8
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogNullSecurityPolicy.xml: TESTS: 4
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogNullStore.xml: TESTS: 6
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogOriginSd.xml: TESTS: 36
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogPosixClock.xml: TESTS: 20
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogPosixDatagram.xml: TESTS: 28
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogPosixFile.xml: TESTS: 12
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogPosixMessageQueueBuffer.xml: TESTS: 9
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogPosixSysUpTime.xml: TESTS: 7
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogPosixTcpStream.xml: TESTS: 37
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogPrival.xml: TESTS: 2
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogStdAtomicOps.xml: TESTS: 4
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogStreamSender.xml: TESTS: 5
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogStreamSenderConfig.xml: TESTS: 7
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogStreamSenderDestroy.xml: TESTS: 3
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogStreamSenderFailure.xml: TESTS: 19
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogSwitchingSender.xml: TESTS: 20
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogTimeQualitySd.xml: TESTS: 11
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogTimestamp.xml: TESTS: 42
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogTlsStream.xml: TESTS: 100
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogUdpPayload.xml: TESTS: 15
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogUdpSender.xml: TESTS: 25
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogUdpSenderConfig.xml: TESTS: 7
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogUdpSenderDestroy.xml: TESTS: 4
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogUdpSenderFailure.xml: TESTS: 7
- quality-reports/junit-build-linux-clang/cpputest_SolidSyslogUdpSenderRetry.xml: TESTS: 13
- quality-reports/junit-build-linux-clang/cpputest_StoreFake.xml: TESTS: 8
- quality-reports/junit-build-linux-clang/cpputest_StreamFake.xml: TESTS: 13
- quality-reports/junit-build-linux-clang/cpputest_StringFake.xml: TESTS: 2
-> build-linux-clang Total: TESTS: 977
-> build-linux-clang Total: TESTS: 977 tests
=> build-linux-clang: 974 tests passed, 3 skipped
Searching for sanitize-linux-gcc results matching file name pattern **/junit-sanitize-linux-gcc/cpputest_*.xml
- quality-reports/junit-sanitize-linux-gcc/cpputest_BlockSequenceRotation.xml: TESTS: 3
- quality-reports/junit-sanitize-linux-gcc/cpputest_BlockSequenceScan.xml: TESTS: 5
- quality-reports/junit-sanitize-linux-gcc/cpputest_BufferFake.xml: TESTS: 6
- quality-reports/junit-sanitize-linux-gcc/cpputest_ClockFake.xml: TESTS: 8
- quality-reports/junit-sanitize-linux-gcc/cpputest_DatagramFake.xml: TESTS: 10
- quality-reports/junit-sanitize-linux-gcc/cpputest_FileFake.xml: TESTS: 35
- quality-reports/junit-sanitize-linux-gcc/cpputest_FileFakeAfterDestroy.xml: TESTS: 10
- quality-reports/junit-sanitize-linux-gcc/cpputest_FileFakeStaleHandle.xml: TESTS: 1
- quality-reports/junit-sanitize-linux-gcc/cpputest_OpenSslFake.xml: TESTS: 54
- quality-reports/junit-sanitize-linux-gcc/cpputest_SenderFake.xml: TESTS: 16
- quality-reports/junit-sanitize-linux-gcc/cpputest_SenderFakeInstances.xml: TESTS: 5
- quality-reports/junit-sanitize-linux-gcc/cpputest_SocketFake.xml: TESTS: 5
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslog.xml: TESTS: 50
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogAddress.xml: TESTS: 2
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogAtomicCounter.xml: TESTS: 4
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogAtomicCounterWithOps.xml: TESTS: 5
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogBlockDevice.xml: TESTS: 14
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogBlockStore.xml: TESTS: 19
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogBlockStoreCapacity.xml: TESTS: 7
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogBlockStoreCapacityThreshold.xml: TESTS: 10
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogBlockStoreConfig.xml: TESTS: 9
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogBlockStoreCorruption.xml: TESTS: 7
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogBlockStoreCorruptionRecovery.xml: TESTS: 2
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogBlockStoreDestroy.xml: TESTS: 1
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogBlockStoreErrors.xml: TESTS: 5
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogBlockStoreIntegrity.xml: TESTS: 4
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogBlockStorePosix.xml: TESTS: 2
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogBlockStoreResume.xml: TESTS: 6
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogBlockStoreRotation.xml: TESTS: 34
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogCrc16.xml: TESTS: 5
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogCrc16Policy.xml: TESTS: 7
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogFileBlockDevice.xml: TESTS: 24
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogFormatter.xml: TESTS: 99
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogGetAddrInfoResolver.xml: TESTS: 11
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogMetaSd.xml: TESTS: 18
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogNullBuffer.xml: TESTS: 8
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogNullSecurityPolicy.xml: TESTS: 4
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogNullStore.xml: TESTS: 6
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogOriginSd.xml: TESTS: 36
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogPosixClock.xml: TESTS: 20
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogPosixDatagram.xml: TESTS: 28
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogPosixFile.xml: TESTS: 12
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogPosixMessageQueueBuffer.xml: TESTS: 9
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogPosixSysUpTime.xml: TESTS: 7
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogPosixTcpStream.xml: TESTS: 37
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogPrival.xml: TESTS: 2
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogStdAtomicOps.xml: TESTS: 4
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogStreamSender.xml: TESTS: 5
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogStreamSenderConfig.xml: TESTS: 7
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogStreamSenderDestroy.xml: TESTS: 3
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogStreamSenderFailure.xml: TESTS: 19
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogSwitchingSender.xml: TESTS: 20
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogTimeQualitySd.xml: TESTS: 11
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogTimestamp.xml: TESTS: 42
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogTlsStream.xml: TESTS: 100
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogUdpPayload.xml: TESTS: 15
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogUdpSender.xml: TESTS: 25
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogUdpSenderConfig.xml: TESTS: 7
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogUdpSenderDestroy.xml: TESTS: 4
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogUdpSenderFailure.xml: TESTS: 7
- quality-reports/junit-sanitize-linux-gcc/cpputest_SolidSyslogUdpSenderRetry.xml: TESTS: 13
- quality-reports/junit-sanitize-linux-gcc/cpputest_StoreFake.xml: TESTS: 8
- quality-reports/junit-sanitize-linux-gcc/cpputest_StreamFake.xml: TESTS: 13
- quality-reports/junit-sanitize-linux-gcc/cpputest_StringFake.xml: TESTS: 2
-> sanitize-linux-gcc Total: TESTS: 977
-> sanitize-linux-gcc Total: TESTS: 977 tests
=> sanitize-linux-gcc: 974 tests passed, 3 skipped
Searching for integration-linux-openssl results matching file name pattern **/junit-integration-linux-openssl/cpputest_*.xml
- quality-reports/junit-integration-linux-openssl/cpputest_OpenSslIntegrationTests_TlsStreamIntegration.xml: TESTS: 9
-> integration-linux-openssl Total: TESTS: 9
-> integration-linux-openssl Total: TESTS: 9 tests
=> integration-linux-openssl: 9 tests passed
Searching for bdd-linux-syslog-ng results matching file name pattern **/junit-bdd-linux-syslog-ng/TESTS-*.xml
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-block_lifecycle.xml: TESTS: 2
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-buffered.xml: TESTS: 2
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-capacity_threshold.xml: TESTS: 2
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-header_fields.xml: TESTS: 3
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-message_fields.xml: TESTS: 3
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-mtls_transport.xml: TESTS: 1
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-origin.xml: TESTS: 5
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-power_cycle_replay.xml: TESTS: 1
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-prival.xml: TESTS: 6
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-store_and_forward.xml: TESTS: 1
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-store_capacity.xml: TESTS: 4
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-structured_data.xml: TESTS: 3
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-switching_transport.xml: TESTS: 2
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-syslog.xml: TESTS: 1
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-tcp_reconnect.xml: TESTS: 1
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-tcp_singletask.xml: TESTS: 1
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-tcp_transport.xml: TESTS: 1
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-time_quality.xml: TESTS: 2
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-timestamp.xml: TESTS: 1
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-tls_transport.xml: TESTS: 2
- quality-reports/junit-bdd-linux-syslog-ng/TESTS-udp_mtu.xml: TESTS: 2
-> bdd-linux-syslog-ng Total: TESTS: 46
-> bdd-linux-syslog-ng Total: TESTS: 46 tests
=> bdd-linux-syslog-ng: 46 tests passed
Searching for bdd-windows-otel results matching file name pattern **/junit-bdd-windows-otel/TESTS-*.xml
- quality-reports/junit-bdd-windows-otel/TESTS-block_lifecycle.xml: TESTS: 2
- quality-reports/junit-bdd-windows-otel/TESTS-buffered.xml: TESTS: 2
- quality-reports/junit-bdd-windows-otel/TESTS-capacity_threshold.xml: TESTS: 2
- quality-reports/junit-bdd-windows-otel/TESTS-header_fields.xml: TESTS: 3
- quality-reports/junit-bdd-windows-otel/TESTS-message_fields.xml: TESTS: 3
- quality-reports/junit-bdd-windows-otel/TESTS-mtls_transport.xml: TESTS: 1
- quality-reports/junit-bdd-windows-otel/TESTS-origin.xml: TESTS: 5
- quality-reports/junit-bdd-windows-otel/TESTS-power_cycle_replay.xml: TESTS: 1
- quality-reports/junit-bdd-windows-otel/TESTS-prival.xml: TESTS: 6
- quality-reports/junit-bdd-windows-otel/TESTS-store_and_forward.xml: TESTS: 1
- quality-reports/junit-bdd-windows-otel/TESTS-store_capacity.xml: TESTS: 4
- quality-reports/junit-bdd-windows-otel/TESTS-structured_data.xml: TESTS: 3
- quality-reports/junit-bdd-windows-otel/TESTS-switching_transport.xml: TESTS: 2
- quality-reports/junit-bdd-windows-otel/TESTS-syslog.xml: TESTS: 1
- quality-reports/junit-bdd-windows-otel/TESTS-tcp_reconnect.xml: TESTS: 1
- quality-reports/junit-bdd-windows-otel/TESTS-tcp_singletask.xml: TESTS: 1
- quality-reports/junit-bdd-windows-otel/TESTS-tcp_transport.xml: TESTS: 1
- quality-reports/junit-bdd-windows-otel/TESTS-time_quality.xml: TESTS: 2
- quality-reports/junit-bdd-windows-otel/TESTS-timestamp.xml: TESTS: 1
- quality-reports/junit-bdd-windows-otel/TESTS-tls_transport.xml: TESTS: 2
- quality-reports/junit-bdd-windows-otel/TESTS-udp_mtu.xml: TESTS: 2
-> bdd-windows-otel Total: TESTS: 46
-> bdd-windows-otel Total: TESTS: 46 tests
=> bdd-windows-otel: 26 tests passed, 20 skipped
Searching for build-windows-msvc results matching file name pattern **/junit-build-windows-msvc/cpputest_*.xml
- quality-reports/junit-build-windows-msvc/cpputest_BlockSequenceRotation.xml: TESTS: 3
- quality-reports/junit-build-windows-msvc/cpputest_BlockSequenceScan.xml: TESTS: 5
- quality-reports/junit-build-windows-msvc/cpputest_BufferFake.xml: TESTS: 6
- quality-reports/junit-build-windows-msvc/cpputest_DatagramFake.xml: TESTS: 10
- quality-reports/junit-build-windows-msvc/cpputest_FileFake.xml: TESTS: 35
- quality-reports/junit-build-windows-msvc/cpputest_FileFakeAfterDestroy.xml: TESTS: 10
- quality-reports/junit-build-windows-msvc/cpputest_FileFakeStaleHandle.xml: TESTS: 1
- quality-reports/junit-build-windows-msvc/cpputest_OpenSslFake.xml: TESTS: 54
- quality-reports/junit-build-windows-msvc/cpputest_SenderFake.xml: TESTS: 16
- quality-reports/junit-build-windows-msvc/cpputest_SenderFakeInstances.xml: TESTS: 5
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslog.xml: TESTS: 50
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogAddress.xml: TESTS: 2
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogAtomicCounter.xml: TESTS: 4
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogAtomicCounterWithOps.xml: TESTS: 5
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogBlockDevice.xml: TESTS: 14
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogBlockStore.xml: TESTS: 19
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogBlockStoreCapacity.xml: TESTS: 7
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogBlockStoreCapacityThreshold.xml: TESTS: 10
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogBlockStoreConfig.xml: TESTS: 9
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogBlockStoreCorruption.xml: TESTS: 7
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogBlockStoreCorruptionRecovery.xml: TESTS: 2
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogBlockStoreDestroy.xml: TESTS: 1
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogBlockStoreErrors.xml: TESTS: 5
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogBlockStoreIntegrity.xml: TESTS: 4
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogBlockStoreResume.xml: TESTS: 6
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogBlockStoreRotation.xml: TESTS: 34
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogCrc16.xml: TESTS: 5
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogCrc16Policy.xml: TESTS: 7
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogFileBlockDevice.xml: TESTS: 24
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogFormatter.xml: TESTS: 99
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogMetaSd.xml: TESTS: 18
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogNullBuffer.xml: TESTS: 8
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogNullSecurityPolicy.xml: TESTS: 4
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogNullStore.xml: TESTS: 6
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogOriginSd.xml: TESTS: 36
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogPrival.xml: TESTS: 2
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogSwitchingSender.xml: TESTS: 20
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogTimeQualitySd.xml: TESTS: 11
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogTimestamp.xml: TESTS: 42
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogTlsStream.xml: TESTS: 100
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogUdpPayload.xml: TESTS: 15
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogWindowsAtomicOps.xml: TESTS: 4
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogWindowsClock.xml: TESTS: 16
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogWindowsFile.xml: TESTS: 13
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogWindowsHostname.xml: TESTS: 4
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogWindowsProcessId.xml: TESTS: 3
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogWindowsSysUpTime.xml: TESTS: 6
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogWinsockDatagram.xml: TESTS: 28
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogWinsockResolver.xml: TESTS: 11
- quality-reports/junit-build-windows-msvc/cpputest_SolidSyslogWinsockTcpStream.xml: TESTS: 35
- quality-reports/junit-build-windows-msvc/cpputest_StoreFake.xml: TESTS: 8
- quality-reports/junit-build-windows-msvc/cpputest_StreamFake.xml: TESTS: 13
- quality-reports/junit-build-windows-msvc/cpputest_StringFake.xml: TESTS: 2
- quality-reports/junit-build-windows-msvc/cpputest_WinsockFake.xml: TESTS: 24
-> build-windows-msvc Total: TESTS: 888
-> build-windows-msvc Total: TESTS: 888 tests
=> build-windows-msvc: 887 tests passed, 1 skipped
=> Tests: 3941 tests passed, 30 skipped
================================================================================
Processing 0 coverage configuration(s)
================================================================================
Processing 3 static analysis configuration(s)
analyze-tidy Configuration:
{
  "id" : "analyze-tidy",
  "name" : "analyze-tidy",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "clang-tidy",
    "name" : "",
    "icon" : "",
    "pattern" : "**/clang-tidy-output.txt",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "clang-tidy"
  } ],
  "errorImpact" : 0,
  "highImpact" : 0,
  "normalImpact" : 0,
  "lowImpact" : 0
}
Searching for Clang-Tidy results matching file name pattern **/clang-tidy-output.txt
- quality-reports/clang-tidy-output.txt: 0 warnings
-> Clang-Tidy Total: 0 warnings
=> Clang-Tidy: No warnings
=> analyze-tidy: No warnings
analyze-cppcheck Configuration:
{
  "id" : "analyze-cppcheck",
  "name" : "analyze-cppcheck",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "cppcheck",
    "name" : "",
    "icon" : "",
    "pattern" : "**/cppcheck-report.xml",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "cppcheck"
  } ],
  "errorImpact" : 0,
  "highImpact" : 0,
  "normalImpact" : 0,
  "lowImpact" : 0
}
Searching for CPPCheck results matching file name pattern **/cppcheck-report.xml
- quality-reports/cppcheck-report.xml: 0 warnings
-> CPPCheck Total: 0 warnings
=> CPPCheck: No warnings
=> analyze-cppcheck: No warnings
analyze-iwyu Configuration:
{
  "id" : "analyze-iwyu",
  "name" : "analyze-iwyu",
  "icon" : "",
  "maxScore" : 0,
  "tools" : [ {
    "id" : "iwyu",
    "name" : "",
    "icon" : "",
    "pattern" : "**/iwyu-output.txt",
    "sourcePath" : "",
    "metric" : "",
    "displayName" : "iwyu"
  } ],
  "errorImpact" : 0,
  "highImpact" : 0,
  "normalImpact" : 0,
  "lowImpact" : 0
}
================================================================================
================================================================================

Created by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result.

@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

☀️   Quality Summary

   🚦   build-linux-gcc: 100% successful (✔️ 1025 passed, 🙈 3 skipped)
   🚦   build-linux-clang: 100% successful (✔️ 974 passed, 🙈 3 skipped)
   🚦   sanitize-linux-gcc: 100% successful (✔️ 974 passed, 🙈 3 skipped)
   🚦   integration-linux-openssl: 100% successful (✔️ 9 passed)
   🚦   bdd-linux-syslog-ng: 100% successful (✔️ 46 passed)
   🚦   bdd-windows-otel: 57% successful (✔️ 26 passed, 🙈 20 skipped)
   🚦   build-windows-msvc: 100% successful (✔️ 887 passed, 🙈 1 skipped)
   ⚠️   Clang-Tidy: No warnings
   ⚠️   CPPCheck: No warnings


Created by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result.

Adds the analyze-iwyu CI job (mirrors analyze-tidy/analyze-cppcheck
shape) that runs `cmake --build --preset iwyu --target iwyu` against
the new cpputest-clang image (which now ships include-what-you-use
0.23 built against clang-19). Job is wired into the summary's needs
list so it gates the PR.

The container SHA bump from sha-0385cea to sha-7eac3ab also updates
the existing build-linux-clang job and the local clang dev-container.

After this merges, branch protection should be updated to make
analyze-iwyu a required status check (not done in this PR — it's a
GitHub UI change, not a code change).
CodeRabbit caught that analyze-iwyu was wired into the summary job's
needs (gating execution) but the Quality Monitor summary itself
neither downloaded the iwyu-report artifact nor had an analyze-iwyu
analysis entry, so PR-level findings would be invisible. Adds the
download step and the analysis block using warnings-ng's `iwyu`
parser id.
…ownload

The warnings-ng parser registry bundled with quality-monitor@v1 has no
parser registered under id `iwyu` — the summary job was failing with
`java.util.NoSuchElementException: No such parser registered: iwyu`.

Dropping the analysis-array entry. The iwyu-report artifact download is
kept for archival/inspection. The job-level pass/fail status of
analyze-iwyu (which becomes a required check via branch protection) is
the gate — Quality Monitor surfacing was nice-to-have for warnings-ng
formatted output, not strictly necessary for required-check semantics.
The analyze-iwyu job's iwyu-report upload and the summary job's iwyu-report
download were still using @v4 floating tags. Pinning them to match the
v5.0.0 SHAs introduced in #262 — keeps the action reference style uniform
across the workflow.
@DavidCozens DavidCozens force-pushed the feat/iwyu-required-ci branch from 393a793 to f6f6510 Compare May 4, 2026 09:27
@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

☀️   Quality Summary

   🚦   build-linux-gcc: 100% successful (✔️ 1025 passed, 🙈 3 skipped)
   🚦   build-linux-clang: 100% successful (✔️ 974 passed, 🙈 3 skipped)
   🚦   sanitize-linux-gcc: 100% successful (✔️ 974 passed, 🙈 3 skipped)
   🚦   integration-linux-openssl: 100% successful (✔️ 9 passed)
   🚦   bdd-linux-syslog-ng: 100% successful (✔️ 46 passed)
   🚦   bdd-windows-otel: 57% successful (✔️ 26 passed, 🙈 20 skipped)
   🚦   build-windows-msvc: 100% successful (✔️ 887 passed, 🙈 1 skipped)
   ⚠️   Clang-Tidy: No warnings
   ⚠️   CPPCheck: No warnings


Created by Quality Monitor v1.14.0 (#f3859fd). More details are shown in the GitHub Checks Result.

@DavidCozens DavidCozens merged commit 832e67b into main May 4, 2026
15 checks passed
@DavidCozens DavidCozens deleted the feat/iwyu-required-ci branch May 4, 2026 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant