Skip to content

Checklist for remaining types in scikit-hep/testdata #9

Open
6 of 18 issues completed
Open

Description

@nsmith-
$ pytest > testresult.log 
$ cat testresult.log |grep reason|cut -d ' ' -f 3-|sort|uniq -c
   1 - reason: Memberwise reading of StdVector not implemented
   6 - reason: Memberwise streaming not implemented for TObject base class
   2 - reason: RooRealVar not declared in the StreamerInfo, e.g. uproot-issue49.root
   2 - reason: Suspicious THx with fByteCount == 0 (e.g. uproot-issue-250.root)
   2 - reason: TDirectory.get_KeyList: fSeekKey is 0 0 (bad key but KeyList is valid, e.g. uproot-issue261.root)
   1 - reason: TFormula.update_members is not implemented
   1 - reason: TKey.read_object: unknown type MGTRun
   1 - reason: TKey.read_object: unknown type StIOEvent
   1 - reason: TKey.read_object: unknown type TMatrixTSym3cdouble3e
   1 - reason: TKey.read_object: unknown type TTime,TKey.read_object: unknown type CalibrationCoefficient
   1 - reason: TLeafI not declared in StreamerInfo, e.g. uproot-issue413.root
   3 - reason: Unimplemented format double32

🤖 AI generated content (this section only; the tally above is the original)

Status as of 2026-09-18

uv run pytest tests/test_read.py: 197 passed, 22 xfailed. Every remaining xfail reason now has its own issue (details from the vendored root-io-spec reference are in each):

n xfail reason tracked in
6 Memberwise streaming not implemented for TObject base class (misdiagnosed: element ordering) #67 (then #69 for the two uproot-issue433-splitlevel* files)
2 RooRealVar not declared in the StreamerInfo #71 (documented skip)
2 Suspicious THx with fByteCount == 0 #16
2 TDirectory.get_KeyList: fSeekKey is 0 0 #17
2 + 1 Unimplemented format double32 / float16 #41
1 Memberwise reading of StdVector not implemented #70
1 TFormula.update_members is not implemented #72
1 Missing derived class streamer for TMatrixTSym #73
3 Unknown type MGTRun / StIOEvent / TTime, CalibrationCoefficient #74
1 TLeafI not declared in StreamerInfo #18 (default: #74)

Latent, not yet an xfail because nothing instantiates the member: kCharStar — #20 (and #68).

Related: #66 tracks the review of the bootstrap classes against the same reference; #76 proposes the spec's fixtures as an additional test corpus.

Activity

  1. nsmith- commented on Sep 18, 2026

    @nsmith-
    OwnerAuthor

    🤖 AI generated content

    Edited 2026-09-18: the per-item detail that was originally in this comment has been moved into dedicated issues (linked below), so that each can be discussed and closed on its own. Nothing was dropped.

    Everything here is sourced from the root-io-spec reference now vendored in this repo at reference/root-io-spec, pinned at 9c3f776. I re-ran the suite first, then checked each remaining item against the spec text, ROOT's pinned source, and in most cases the bytes of the offending file.

    Refreshed tally

    uv run pytest tests/test_read.py today: 197 passed, 22 xfailed. The reasons have drifted a little from the issue body:

    n reason where the detail is
    6 Memberwise streaming not implemented for TObject base class #67 — misdiagnosed, it is an element-ordering bug
    2 RooRealVar not declared in the StreamerInfo #71
    2 Suspicious THx with fByteCount == 0 #16
    2 fSeekKey is 0 0 #17
    2 Unimplemented format double32 #41
    1 Unimplemented format float16 (new; same code path) #41
    1 Memberwise reading of StdVector not implemented #70
    1 TFormula.update_members is not implemented #72
    1 Missing derived class streamer for TMatrixTSym (reason text changed) #73
    1 Unknown type MGTRun #74
    1 Unknown type StIOEvent #74
    1 Unknown type TTime / CalibrationCoefficient #74
    1 TLeafI not declared in StreamerInfo #18

    One line per item

    Cross-cutting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions