From 5e34e438a200133782a13ee6fddb18f0fdeea5b1 Mon Sep 17 00:00:00 2001 From: Samantha Abbott <52800387+sathabbott@users.noreply.github.com> Date: Thu, 24 Sep 2026 17:05:55 +0000 Subject: [PATCH] Bump reference/root-io-spec to c65c464 root-io-spec moves from 9c3f776 (2026-09-18) to c65c464 (2026-09-24), 68 commits. It still pins ROOT 6.40.04 (1211eda), the latest stable release, so the tracked RNTuple specification (v1.0.2.1) is the same document. It adds three RNTuple fixtures, all of which read: - rntuple/compressed: the only compressed anchor and envelopes in the corpus - rntuple/map: page locators that share byte ranges - rntuple/attributes: linked attribute sets Four new non-RNTuple fixtures fail. Each is listed in EXPECTED_FAILURES with its exact error and the issue that tracks it: - classes/roofit: #71 - serialization/pointer-collection: #105 - serialization/unframed-records: #123, #101 - written/two-versions: #22 Assisted-by: claude-code:claude-opus-5-5 --- reference/root-io-spec | 2 +- tests/test_spec_fixtures.py | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/reference/root-io-spec b/reference/root-io-spec index 9c3f776..c65c464 160000 --- a/reference/root-io-spec +++ b/reference/root-io-spec @@ -1 +1 @@ -Subproject commit 9c3f776211f96f507333b142fabcdf270178f21d +Subproject commit c65c464d4d8e694764992443d5dd6dd9006341ca diff --git a/tests/test_spec_fixtures.py b/tests/test_spec_fixtures.py index 38a85ed..a59c404 100644 --- a/tests/test_spec_fixtures.py +++ b/tests/test_spec_fixtures.py @@ -5,6 +5,7 @@ ``gen/cases/``. The submodule is optional: without it this module is skipped. """ +import struct from pathlib import Path from typing import NamedTuple @@ -48,6 +49,9 @@ class ExpectedFailure(NamedTuple): "classes/matrix.root": ExpectedFailure( (73,), ValueError, "Unknown type TMatrixTSym3cfloat3e" ), + "classes/roofit.root": ExpectedFailure( + (71,), ValueError, "buffer not empty after reading object of type RooLinkedList" + ), "classes/tarray.root": ExpectedFailure((107,), ValueError, "Unknown type TArrayL "), "serialization/clones-array.root": ExpectedFailure( (101,), ValueError, "Unknown type TClonesArray" @@ -73,6 +77,9 @@ class ExpectedFailure(NamedTuple): ), # A bare assert on the end of a column in the member-wise branch of StdMap "serialization/pairs.root": ExpectedFailure((70,), AssertionError, "^$"), + "serialization/pointer-collection.root": ExpectedFailure( + (105,), ValueError, "Expected a version in the StdVector header" + ), "serialization/pointer-forms.root": ExpectedFailure( (91,), ValueError, "85 is not a valid ElementType" ), @@ -89,6 +96,9 @@ class ExpectedFailure(NamedTuple): ), # TH1L derives from the missing TArrayL64 (#107); its version word of 0 is # also misread as announcing a checksum (#111) + "serialization/unframed-records.root": ExpectedFailure( + (123, 101), AttributeError, "type object 'int' has no attribute 'read'" + ), "serialization/version-zero.root": ExpectedFailure( (107, 111), TypeError, r"__init__\(\) missing 36 required positional arguments" ), @@ -113,6 +123,9 @@ class ExpectedFailure(NamedTuple): "ttree/tree-index.root": ExpectedFailure( (101,), ValueError, "Unknown type TTreeIndex" ), + "written/two-versions.root": ExpectedFailure( + (22,), struct.error, "unpack requires a buffer of 8 bytes" + ), }