Skip to content

Conversation

@mPokornyETM
Copy link
Collaborator

@mPokornyETM mPokornyETM commented Jan 29, 2026

Request for a change on public repository on CtrlppCheck

Basic information

Introduces a testing infrastructure with unit tests covering QualityGates components and a coverage reporting tool that outputs Cobertura-compatible XML.

Technical information

What's new:

  • 20 unit test files for core library classes (QgVersionResult, QgBase, QgCtrlCodeScriptData, CppCheckError, OaLogger, etc.)
  • Coverage report generator in Node.js (devTools/ctlCoverageReport/coverage_report.js)
  • Integration of coverage reporting into the test execution pipeline

Fixes:

Testing done

Executed: executeTests.cmd -oaVersion 3.20 -oaTestRunId Common

Metric Result
Test Managers 20
Passed 407
Failed 0
Aborted 1 (pre-existing: QgMsgCat_setPrio)
Line Coverage 31.4% (359/1143)
Function Coverage 52.2% (120/230)
Branch Coverage 10.2% (74/727)

Configuration: PACK_SEL: 2 (database-free mode)

Also provide very light way manual test with 3.21 version

Proposed upgrade guidelines

N/A

Localizations

  • English
  • German

Submitter checklist

  • The Github issue, if it exists, is well-described.
  • The changelog entries and upgrade guidelines are appropriate for the audience affected by the change.
  • There is automated testing or an explanation that explains why this change has no tests.
  • Any localizations are transferred to /msg/ files.
  • Automated tests has been executed and valid

- Implement tests for QgVersionResult, CppCheckError, CppCheckSettings, Mapping, and String classes.
- Enhance fileSys test suite to include additional assertions.
- Update test configuration to include new test files.
- Create a ToDo list for unit test coverage, highlighting existing and missing tests.
- Modify executeTests script to support IDE startup option.
- Implemented unit tests for QgBase, QgMsgCat, and QgResultPublisher classes to enhance test coverage.
- Updated the toDoTests.md file to reflect the new test coverage statistics, increasing coverage from ~33% to ~44%.
- Modified testProj.unit.config to include new test files in the test execution.
- Introduced a new JavaScript and TypeScript coverage report generator to merge coverage XML files and produce command-line reports.
- Updated executeTests.cmd to automate the generation of coverage reports after test execution.
@mPokornyETM mPokornyETM changed the title Feature/runnable with 3.21 feat: Make QG runnable with 3.21, Add comprehensive unit tests and coverage reporting for WinCCOA_QualityChecks Jan 29, 2026
@mPokornyETM
Copy link
Collaborator Author

Waiting for answer in #118

@mPokornyETM mPokornyETM marked this pull request as ready for review January 30, 2026 08:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compatibility with WinCC OA 3.21

3 participants