{"id":29047925,"url":"https://github.com/root-project/rntuple-validation","last_synced_at":"2025-06-26T17:34:31.479Z","repository":{"id":278232115,"uuid":"930790017","full_name":"root-project/rntuple-validation","owner":"root-project","description":"RNTuple Validation Suite (WIP)","archived":false,"fork":false,"pushed_at":"2025-05-30T15:04:00.000Z","size":53,"stargazers_count":2,"open_issues_count":25,"forks_count":3,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-05-30T21:19:16.495Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/root-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-11T08:07:10.000Z","updated_at":"2025-05-30T15:04:04.000Z","dependencies_parsed_at":"2025-02-18T18:23:02.382Z","dependency_job_id":"3c0f8fef-feb1-4231-bf25-de9552d54cec","html_url":"https://github.com/root-project/rntuple-validation","commit_stats":null,"previous_names":["root-project/rntuple-validation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/root-project/rntuple-validation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/root-project%2Frntuple-validation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/root-project%2Frntuple-validation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/root-project%2Frntuple-validation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/root-project%2Frntuple-validation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/root-project","download_url":"https://codeload.github.com/root-project/rntuple-validation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/root-project%2Frntuple-validation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262113759,"owners_count":23261098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-26T17:34:30.271Z","updated_at":"2025-06-26T17:34:31.464Z","avatar_url":"https://github.com/root-project.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RNTuple Validation Suite\n\nThe *RNTuple Validation Suite* provides conformance tests for the [RNTuple Binary Format Specification](https://cds.cern.ch/record/2923186).\nThe goal is to cover all parts of the specification with implications on the format.\nIt can be used to validate both writer and reader implementations of the RNTuple specification.\nTo that end, each test comes with a written description of the schema and the expected data.\nEventually, we will also provide a set of reference `.root` and `.json` files (see below).\n\n\u003e [!WARNING]\n\u003e The RNTuple Validation Suite is currently work in progress.\n\u003e Its structure and implementation may change during development.\n\u003e We welcome early feedback on the current state from any interested party.\n\n## Test Categories\n\nTests in the RNTuple Validation Suite are organized into (nested) *categories*.\nThis is mirrored by the hierarchical directory layout in the repository.\nFor example, the [`types`](types) directory contains tests related to type support in the RNTuple specification.\nIt has subdirectories for tests concerning [fundamental types](types/fundamental) and C++ types, for example [`std::vector`](types/vector).\nMore tests are planned in the future, please [consult the list of issues](https://github.com/root-project/rntuple-validation/issues) in the GitHub repository.\n\n## Reference Implementation\n\nThis repository also contains a reference implementation with ROOT macros.\nThey currently target ROOT v6.34 with the first official version of the RNTuple on-disk binary format.\nIn this release, the API is not yet finalized and all classes are in the `ROOT::Experimental` namespace.\nWe plan to rely on this version until a first version of the RNTuple Validation Suite is done.\nThen we will produce a first set of reference files that can be used to test backwards compatibility.\nAfterwards, the implementation will be updated for the stable API (expected in ROOT v6.36).\n\n### How to Run\n\nFor each test, we implement a `write.C` and `read.C` macro in the corresponding subdirectory.\nThe `write.C` macro produces a `.root` file with the contents as described in the `README` of each test subdirectory.\nThe `read.C` macro produces a `.json` file with a human-readable representation of the data in the `.root` file.\nThey can be run individually or all at once with `make` using the top-level [`Makefile`](Makefile).\nThe latter is also exercised by a GitHub Actions Workflow:\n![Execute ROOT macros](https://github.com/root-project/rntuple-validation/actions/workflows/root.yml/badge.svg)\nThe job also uploads the produced set of `.root` and `.json` files, which can be downloaded from the Summary page.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froot-project%2Frntuple-validation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froot-project%2Frntuple-validation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froot-project%2Frntuple-validation/lists"}