Skip to content

revert the metadata part introduced in PR647 - #665

Merged
gemmeren merged 2 commits into
Framework-R-D:mainfrom
wwuoneway:form-revert-pr647
Jun 25, 2026
Merged

revert the metadata part introduced in PR647#665
gemmeren merged 2 commits into
Framework-R-D:mainfrom
wwuoneway:form-revert-pr647

Conversation

@wwuoneway

@wwuoneway wwuoneway commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

This PR reverts the changes introduced in PR #647. Additional review comments were received, and the metadata part will be added in future updates.

  • Code

    • Reverted the metadata/product-name plumbing across the FORM writer and persistence stack by removing declare_product_name, finalize, and the various product_name/declared_name paths from writer and storage interfaces/implementations.
    • Simplified registerWrite, fillContainer, and related write/commit flows to pass only creator/label/data/type.
    • Removed several now-unused state members and helper logic tied to product-name tracking and finalization.
    • Adjusted ROOT storage containers to remove getEntryCount() APIs; one implementation now sets tree entry counts on commit, and another exposes getTTree() instead.
    • Simplified ROOT file opening logic in ROOT_TFileImp.
  • Tests

    • Removed a large set of storage/form tests covering ROOT file modes, container validation, writer finalization/index handling, and related registry checks.
    • Deleted the test/form/form_test_with_output.jsonnet fixture.
    • Simplified test/form/writer.cpp by removing the finalization call and post-write ROOT validation logic.
  • Cleanup

    • Removed unused includes and trimmed several implementation files after the revert.

@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 447c0252-1154-42e3-bb26-ee1ed41085bb

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The PR removes declared product-name and finalize plumbing from the FORM writer, persistence, and storage interfaces, updates ROOT storage container handling, and deletes related test validation code.

Changes

FORM persistence and storage cleanup

Layer / File(s) Summary
Contracts and wiring
form/form/form_writer.*, form/form_module.cpp, form/persistence/ipersistence_writer.hpp, form/persistence/persistence_writer.hpp, form/storage/istorage.hpp, form/storage/storage_writer.hpp
Writer and storage interfaces drop product-name/finalize declarations, form module stops declaring product names during setup, and the affected classes remove related cached state.
Persistence and storage implementation
form/persistence/persistence_writer.cpp, form/storage/storage_writer.cpp
PersistenceWriter and StorageWriter stop forwarding product names, remove finalize paths, and simplify container filling to direct writes plus table lookups.
ROOT storage runtime
form/root_storage/root_tbranch_write_container.*, form/root_storage/root_ttree_write_container.*, form/root_storage/root_tfile.cpp, form/storage/storage_write_container.*
ROOT branch/tree/container helpers remove entry-count accessors, synchronize tree entries on commit, and change file-open and attribute handling.
Test cleanup
test/form/form_storage_test.cpp, test/form/writer.cpp, test/form/form_test_with_output.jsonnet
The FORM storage and writer tests remove finalize-time ROOT validation, and the deleted test config and include cleanup match the removed paths.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • Framework-R-D/phlex#647: Also changes the same FORM writer/persistence metadata path by removing the per-product declared-name and finalize flow from the writer and storage interfaces.

Suggested reviewers

  • greenc-FNAL
  • knoepfel
  • marcpaterno
  • sabasehrish
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main intent: reverting the metadata-related portion of PR647.
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

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

@wwuoneway
wwuoneway requested review from aolivier23 and gemmeren June 25, 2026 18:36
gemmeren
gemmeren previously approved these changes Jun 25, 2026
@greenc-FNAL

greenc-FNAL commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

19 fixed, 0 new since branch point (12a6178)
19 fixed, 0 new since previous report on PR (8b80406)

✅ 19 CodeQL alerts resolved since the previous PR commit

  • Warning # 196 actions/untrusted-checkout-toctou/critical at .github/workflows/clang-tidy-fix.yaml:109:9 — Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
  • Warning # 227 actions/untrusted-checkout-toctou/high at .github/workflows/clang-format-fix.yaml:94:9 — Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
    Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
  • Warning # 228 actions/untrusted-checkout-toctou/high at .github/workflows/python-fix.yaml:94:9 — Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
    Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
  • Warning # 229 actions/untrusted-checkout/high at .github/workflows/clang-format-fix.yaml:94:9 — Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
    Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
  • Warning # 230 actions/untrusted-checkout/high at .github/workflows/python-fix.yaml:94:9 — Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
    Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
  • Warning # 231 actions/untrusted-checkout-toctou/high at .github/workflows/cmake-format-fix.yaml:94:9 — Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
    Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
  • Warning # 232 actions/untrusted-checkout-toctou/high at .github/workflows/jsonnet-format-fix.yaml:95:9 — Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
    Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
  • Warning # 233 actions/untrusted-checkout/high at .github/workflows/cmake-format-fix.yaml:94:9 — Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
    Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
  • Warning # 234 actions/untrusted-checkout/high at .github/workflows/jsonnet-format-fix.yaml:95:9 — Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
    Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
  • Warning # 235 actions/untrusted-checkout/medium at .github/workflows/clang-format-check.yaml:82:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 236 actions/untrusted-checkout/medium at .github/workflows/actionlint-check.yaml:86:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 237 actions/untrusted-checkout/medium at .github/workflows/clang-tidy-check.yaml:59:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 238 actions/untrusted-checkout/medium at .github/workflows/cmake-format-check.yaml:79:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 239 actions/untrusted-checkout/medium at .github/workflows/cmake-build.yaml:159:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 240 actions/untrusted-checkout/medium at .github/workflows/header-guards-check.yaml:82:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 241 actions/untrusted-checkout/medium at .github/workflows/jsonnet-format-check.yaml:79:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 242 actions/untrusted-checkout/medium at .github/workflows/markdown-check.yaml:82:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 243 actions/untrusted-checkout/medium at .github/workflows/python-check.yaml:84:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 244 actions/untrusted-checkout/medium at .github/workflows/yaml-check.yaml:76:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.

✅ 19 CodeQL alerts resolved since the branch point

  • Warning # 196 actions/untrusted-checkout-toctou/critical at .github/workflows/clang-tidy-fix.yaml:109:9 — Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
  • Warning # 227 actions/untrusted-checkout-toctou/high at .github/workflows/clang-format-fix.yaml:94:9 — Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
    Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
  • Warning # 228 actions/untrusted-checkout-toctou/high at .github/workflows/python-fix.yaml:94:9 — Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
    Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
  • Warning # 229 actions/untrusted-checkout/high at .github/workflows/clang-format-fix.yaml:94:9 — Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
    Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
  • Warning # 230 actions/untrusted-checkout/high at .github/workflows/python-fix.yaml:94:9 — Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
    Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
  • Warning # 231 actions/untrusted-checkout-toctou/high at .github/workflows/cmake-format-fix.yaml:94:9 — Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
    Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
  • Warning # 232 actions/untrusted-checkout-toctou/high at .github/workflows/jsonnet-format-fix.yaml:95:9 — Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
    Insufficient protection against execution of untrusted code on a privileged workflow (issue_comment).
  • Warning # 233 actions/untrusted-checkout/high at .github/workflows/cmake-format-fix.yaml:94:9 — Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
    Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
  • Warning # 234 actions/untrusted-checkout/high at .github/workflows/jsonnet-format-fix.yaml:95:9 — Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
    Checkout of untrusted code in a privileged workflow with later potential execution (event trigger: issue_comment).
  • Warning # 235 actions/untrusted-checkout/medium at .github/workflows/clang-format-check.yaml:82:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 236 actions/untrusted-checkout/medium at .github/workflows/actionlint-check.yaml:86:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 237 actions/untrusted-checkout/medium at .github/workflows/clang-tidy-check.yaml:59:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 238 actions/untrusted-checkout/medium at .github/workflows/cmake-format-check.yaml:79:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 239 actions/untrusted-checkout/medium at .github/workflows/cmake-build.yaml:159:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 240 actions/untrusted-checkout/medium at .github/workflows/header-guards-check.yaml:82:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 241 actions/untrusted-checkout/medium at .github/workflows/jsonnet-format-check.yaml:79:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 242 actions/untrusted-checkout/medium at .github/workflows/markdown-check.yaml:82:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 243 actions/untrusted-checkout/medium at .github/workflows/python-check.yaml:84:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.
  • Warning # 244 actions/untrusted-checkout/medium at .github/workflows/yaml-check.yaml:76:9 — Potential unsafe checkout of untrusted pull request on privileged workflow.

Review the full CodeQL report for details.

@aolivier23 aolivier23 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.

I think we missed a function in the RNTuple interface since RNTuple compiled against main but isn't in this diff.

Otherwise looks good to me.

@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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
test/form/writer.cpp (1)

10-16: 🎯 Functional Correctness | 🟡 Minor

Add #include <string>. test/form/writer.cpp uses std::string directly, and the current STL include block doesn’t cover it. Keep this test from depending on transitive includes.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@test/form/writer.cpp` around lines 10 - 16, Add the missing standard header
for std::string in the include block of writer.cpp so the test no longer relies
on transitive includes; update the existing includes near the top of the file to
explicitly include the string header alongside the other STL headers used by the
test.
form/storage/istorage.hpp (1)

56-69: 🎯 Functional Correctness | 🔴 Critical

Remove the stale getEntryCount() override

IStorage_Write_Container, Storage_Write_Container, and Storage_Associative_Write_Container no longer declare getEntryCount(), so ROOT_RField_Write_ContainerImp::getEntryCount() override in form/root_storage/root_rfield_write_container.hpp:28 has no matching base virtual and will break compilation.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@form/storage/istorage.hpp` around lines 56 - 69, The write-container
interfaces no longer expose getEntryCount(), so the stale override in
ROOT_RField_Write_ContainerImp is now invalid and will not compile. Remove the
getEntryCount() override from ROOT_RField_Write_ContainerImp and any related
implementation/declaration references, and verify the class still matches the
current IStorage_Write_Container contract and the Storage_Write_Container /
Storage_Associative_Write_Container hierarchy.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@form/storage/istorage.hpp`:
- Around line 56-69: The write-container interfaces no longer expose
getEntryCount(), so the stale override in ROOT_RField_Write_ContainerImp is now
invalid and will not compile. Remove the getEntryCount() override from
ROOT_RField_Write_ContainerImp and any related implementation/declaration
references, and verify the class still matches the current
IStorage_Write_Container contract and the Storage_Write_Container /
Storage_Associative_Write_Container hierarchy.

In `@test/form/writer.cpp`:
- Around line 10-16: Add the missing standard header for std::string in the
include block of writer.cpp so the test no longer relies on transitive includes;
update the existing includes near the top of the file to explicitly include the
string header alongside the other STL headers used by the test.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: dfe3fcc0-5778-40e1-9cc7-5155f44d2410

📥 Commits

Reviewing files that changed from the base of the PR and between 12a6178 and 8b80406.

📒 Files selected for processing (19)
  • form/form/form_writer.cpp
  • form/form/form_writer.hpp
  • form/form_module.cpp
  • form/persistence/ipersistence_writer.hpp
  • form/persistence/persistence_writer.cpp
  • form/persistence/persistence_writer.hpp
  • form/root_storage/root_tbranch_write_container.cpp
  • form/root_storage/root_tbranch_write_container.hpp
  • form/root_storage/root_tfile.cpp
  • form/root_storage/root_ttree_write_container.cpp
  • form/root_storage/root_ttree_write_container.hpp
  • form/storage/istorage.hpp
  • form/storage/storage_write_container.cpp
  • form/storage/storage_write_container.hpp
  • form/storage/storage_writer.cpp
  • form/storage/storage_writer.hpp
  • test/form/form_storage_test.cpp
  • test/form/form_test_with_output.jsonnet
  • test/form/writer.cpp
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • Framework-R-D/action-configure-cmake (auto-detected)
  • Framework-R-D/action-workflow-setup (auto-detected)
  • Framework-R-D/action-complete-pr-comment (auto-detected)
  • Framework-R-D/action-handle-fix-commit (auto-detected)
💤 Files with no reviewable changes (10)
  • form/root_storage/root_tbranch_write_container.hpp
  • test/form/form_test_with_output.jsonnet
  • form/storage/storage_write_container.cpp
  • form/form_module.cpp
  • form/root_storage/root_ttree_write_container.hpp
  • form/root_storage/root_ttree_write_container.cpp
  • form/root_storage/root_tbranch_write_container.cpp
  • test/form/form_storage_test.cpp
  • form/storage/storage_write_container.hpp
  • form/form/form_writer.hpp
📜 Review details
⏰ Context from checks skipped due to timeout. (4)
  • GitHub Check: Analyze cpp with CodeQL
  • GitHub Check: build (gcc, none)
  • GitHub Check: coverage
  • GitHub Check: clang-tidy-check
🧰 Additional context used
📓 Path-based instructions (3)
**/*.{cpp,cc,cxx,h,hpp}

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

**/*.{cpp,cc,cxx,h,hpp}: Use clang-format tool for all C++ code formatting (VS Code auto-formats on save); configuration defined in .clang-format with 100-character line limit and 2-space indentation
Follow clang-tidy recommendations defined in .clang-tidy

Files:

  • form/form/form_writer.cpp
  • form/root_storage/root_tfile.cpp
  • form/persistence/ipersistence_writer.hpp
  • form/storage/istorage.hpp
  • form/persistence/persistence_writer.cpp
  • form/persistence/persistence_writer.hpp
  • test/form/writer.cpp
  • form/storage/storage_writer.hpp
  • form/storage/storage_writer.cpp
**/*.{hpp,cpp}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{hpp,cpp}: Use .hpp for header files, .cpp for implementation, and *_test.cpp for test files in C++
Enforce 100-character line limit and 2-space indentation in C++ code via .clang-format
Use QualifierAlignment: Right (east-const) style: int const x not const int x in C++
Use PointerAlignment: Left in C++ (pointer * attached to type, not variable name)
All C++ identifiers must use lower_case naming: namespaces, classes, structs, enums, functions, variables, parameters, members, and constants
Exception to C++ naming: template parameters use CamelCase
Exception to C++ naming: macros use UPPER_CASE
Private, protected, and constant members in C++ must have a trailing underscore (_), no trailing underscore on anything else
Use enum class preferred over plain enum in C++
Use std::shared_ptr for shared ownership, std::unique_ptr for exclusive ownership, raw pointers for non-owning references only in C++
Use functors with agent-noun pattern: ModelEvaluator evaluate_model(...) in C++
Apply .clang-tidy checks for bugprone, cert, clang-analyzer, concurrency, cppcoreguidelines, misc, modernize, performance, portability, and readability as defined in the .clang-tidy configuration file
Use phlex:: namespace for core code, phlex::experimental:: for experimental features in C++

Files:

  • form/form/form_writer.cpp
  • form/root_storage/root_tfile.cpp
  • form/persistence/ipersistence_writer.hpp
  • form/storage/istorage.hpp
  • form/persistence/persistence_writer.cpp
  • form/persistence/persistence_writer.hpp
  • test/form/writer.cpp
  • form/storage/storage_writer.hpp
  • form/storage/storage_writer.cpp
**/*.hpp

📄 CodeRabbit inference engine (AGENTS.md)

Avoid boolean parameters in C++ interfaces; prefer enumerations instead

Files:

  • form/persistence/ipersistence_writer.hpp
  • form/storage/istorage.hpp
  • form/persistence/persistence_writer.hpp
  • form/storage/storage_writer.hpp
🔇 Additional comments (11)
form/persistence/ipersistence_writer.hpp (1)

30-34: LGTM!

form/persistence/persistence_writer.hpp (1)

34-38: LGTM!

Also applies to: 43-47

form/form/form_writer.cpp (1)

40-40: LGTM!

Also applies to: 69-69

form/persistence/persistence_writer.cpp (2)

52-60: LGTM!


62-65: 🎯 Functional Correctness

index is already special-cased findConfigItem() maps "index" to the first configured item, so commitOutput() doesn’t need a separate metadata entry here.

			> Likely an incorrect or invalid review comment.
test/form/writer.cpp (2)

153-154: 📐 Maintainability & Code Quality

Remove this concern: ReadVector_${TECH} already consumes toy_${TECH}.root and toy_checksums_${TECH}.txt, compares the checksums, and runs after WriteVector_${TECH} via DEPENDS.

			> Likely an incorrect or invalid review comment.

99-99: 🎯 Functional Correctness

std::from_range is fine here. The project already sets CMAKE_CXX_STANDARD to 23, so no C++20 fallback is needed.

			> Likely an incorrect or invalid review comment.
form/storage/istorage.hpp (1)

39-42: LGTM!

form/storage/storage_writer.hpp (1)

22-29: LGTM!

Also applies to: 31-38

form/storage/storage_writer.cpp (1)

14-17: LGTM!

Also applies to: 20-69, 71-84, 87-93

form/root_storage/root_tfile.cpp (1)

11-14: 🩺 Stability & Availability

No issue: the fallback matches current callers. Current code only passes 'i' and 'o' into createFile, so the READ branch doesn’t change existing behavior.

			> Likely an incorrect or invalid review comment.

@beojan

beojan commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

@wwuoneway CodeRabbit has left two comments that you'll need to expand the tree to see.

image

@aolivier23 aolivier23 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.

Thank you for removing that. Looks good to me.

@codecov

codecov Bot commented Jun 25, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 88.88889% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
form/root_storage/root_tfile.cpp 50.00% 0 Missing and 1 partial ⚠️
@@            Coverage Diff             @@
##             main     #665      +/-   ##
==========================================
+ Coverage   83.27%   83.55%   +0.28%     
==========================================
  Files         162      170       +8     
  Lines        5912     6283     +371     
  Branches      670      706      +36     
==========================================
+ Hits         4923     5250     +327     
- Misses        796      810      +14     
- Partials      193      223      +30     
Flag Coverage Δ
scripts 78.86% <ø> (+2.49%) ⬆️
unittests 85.93% <88.88%> (-0.92%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
form/form/form_writer.cpp 72.41% <100.00%> (ø)
form/form/form_writer.hpp 100.00% <ø> (ø)
form/form_module.cpp 91.30% <ø> (ø)
form/persistence/ipersistence_writer.hpp 100.00% <ø> (ø)
form/persistence/persistence_writer.cpp 100.00% <100.00%> (ø)
form/persistence/persistence_writer.hpp 100.00% <ø> (ø)
form/root_storage/root_rfield_write_container.cpp 73.84% <ø> (ø)
form/root_storage/root_rfield_write_container.hpp 100.00% <ø> (ø)
form/root_storage/root_tbranch_write_container.cpp 83.33% <ø> (+3.03%) ⬆️
form/root_storage/root_tbranch_write_container.hpp 100.00% <ø> (ø)
... and 7 more

... and 16 files with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cb81c8b...8c9f24f. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions

Copy link
Copy Markdown
Contributor

Clang-Tidy Check Results

Found 5385 issue(s); none are newly introduced by this patch.

All issues by check:

  • readability-identifier-naming: 2065
  • readability-redundant-member-init: 1258
  • portability-template-virtual-member-function: 563
  • performance-unnecessary-value-param: 457
  • readability-avoid-const-params-in-decls: 269
  • modernize-pass-by-value: 206
  • readability-braces-around-statements: 91
  • modernize-use-designated-initializers: 86
  • readability-convert-member-functions-to-static: 80
  • readability-const-return-type: 50
  • modernize-use-auto: 27
  • readability-redundant-control-flow: 23
  • readability-qualified-auto: 20
  • modernize-concat-nested-namespaces: 17
  • readability-math-missing-parentheses: 16
  • modernize-use-equals-default: 15
  • modernize-avoid-c-arrays: 15
  • modernize-use-using: 13
  • bugprone-branch-clone: 12
  • readability-static-definition-in-anonymous-namespace: 12
  • readability-function-size: 10
  • modernize-return-braced-init-list: 10
  • readability-isolate-declaration: 8
  • readability-container-size-empty: 7
  • cppcoreguidelines-special-member-functions: 7
  • clang-diagnostic-error: 6
  • modernize-use-starts-ends-with: 6
  • readability-redundant-access-specifiers: 5
  • modernize-use-ranges: 5
  • readability-inconsistent-declaration-parameter-name: 5
  • readability-container-contains: 5
  • readability-redundant-casting: 3
  • modernize-use-std-numbers: 3
  • modernize-use-integer-sign-comparison: 2
  • modernize-make-shared: 1
  • readability-simplify-boolean-expr: 1
  • readability-use-anyofallof: 1
  • readability-else-after-return: 1
  • modernize-redundant-void-arg: 1
  • readability-redundant-string-init: 1
  • performance-move-const-arg: 1
  • performance-avoid-endl: 1

See inline comments for details. Comment @phlexbot tidy-fix to auto-fix.

@github-actions

Copy link
Copy Markdown
Contributor

Clang-Tidy Check Results

Found 5372 issue(s); none are newly introduced by this patch.

All issues by check:

  • readability-identifier-naming: 2059
  • readability-redundant-member-init: 1258
  • portability-template-virtual-member-function: 563
  • performance-unnecessary-value-param: 457
  • readability-avoid-const-params-in-decls: 269
  • modernize-pass-by-value: 206
  • readability-braces-around-statements: 90
  • modernize-use-designated-initializers: 86
  • readability-convert-member-functions-to-static: 80
  • readability-const-return-type: 50
  • modernize-use-auto: 27
  • readability-redundant-control-flow: 23
  • readability-qualified-auto: 20
  • modernize-concat-nested-namespaces: 17
  • readability-math-missing-parentheses: 16
  • modernize-use-equals-default: 15
  • modernize-avoid-c-arrays: 15
  • modernize-use-using: 13
  • readability-static-definition-in-anonymous-namespace: 12
  • bugprone-branch-clone: 12
  • modernize-return-braced-init-list: 10
  • readability-function-size: 10
  • readability-isolate-declaration: 8
  • cppcoreguidelines-special-member-functions: 7
  • readability-container-size-empty: 7
  • modernize-use-starts-ends-with: 6
  • readability-redundant-access-specifiers: 5
  • modernize-use-ranges: 5
  • readability-inconsistent-declaration-parameter-name: 5
  • readability-container-contains: 5
  • modernize-use-std-numbers: 3
  • readability-redundant-casting: 3
  • modernize-use-integer-sign-comparison: 2
  • readability-simplify-boolean-expr: 1
  • readability-use-anyofallof: 1
  • readability-redundant-string-init: 1
  • readability-else-after-return: 1
  • modernize-redundant-void-arg: 1
  • modernize-make-shared: 1
  • performance-move-const-arg: 1
  • performance-avoid-endl: 1

See inline comments for details. Comment @phlexbot tidy-fix to auto-fix.

@gemmeren
gemmeren merged commit 5c00e97 into Framework-R-D:main Jun 25, 2026
40 checks passed
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.

5 participants