[HS3] [RF] Add HS3 conformance test suite integration#22567
Conversation
Test Results 22 files 22 suites 3d 16h 48m 42s ⏱️ For more details on these failures, see this check. Results for commit b544a19. ♻️ This comment has been updated with latest results. |
guitargeek
left a comment
There was a problem hiding this comment.
Thank you for this awesome initiative! I really like the idea, but have some change requests about the implementation.
…cument it documents dependecies on network connection and other build options. Now throwing error if `pyroot` or `testing` option is set to OFF instead of implying them with hs3 option.
…ctory and pin to specific commit hash
|
@guitargeek Thank you very much for this great feedback! I made all of the changes, except for moving the HS3TestSuite repo to the HS3 org - but I think we will do that soon. @cburgard suggested that we should make the test suite backend agnostic, and move the backend logic to the respective backend src (i.e. for roofit in the roofit/hs3/test directory). Should I add these changes to this PR or open another one? |
guitargeek
left a comment
There was a problem hiding this comment.
Thanks for the updates! The git logic still needs to be a bit more safer, see my inline comment.
I don't understand yet what you mean here, but in any case I'd do this in a separate PR. Let's get the CMake plumbing correct here for a first integration (even if the repo is still under |
Just to chime in here, the point I was making in the discussion is that right now, the repo includes a wrapper class called "RooFit Backend" . This is a bit unfortunate, as this requires that the repo knows about all the backends that should be supported by this suite. I would find it much more elegant if this backend could be moved here (to the ROOT github) such that the suite itself is completely agnostic about which backends might attempt to use it. |
Sure, I have nothing against moving this to ROOT! This test interface doesn't depend on the test suite itself as far as I can tell, so it's just pure PyROOT code anyway. @stalbrec, let me know if you have questions about where the Python code should go, but my preferred way to work is that you just try out something in a PR (unless you are completely stuck) and if it's not up to standard I'll let you know and we iterate 🙂 |
|
The |
|
@guitargeek I think I have a good working version with the backend inside the root-repo. Also @Phmonski will migrate the TestSuite likely today to the hs3 org. We propose to add these changes to this PR, if that's alright. |
|
As you prefer! Whatever works for you. So I wait for that before doing the next round of review? |
|
I migrated the test suite to https://github.com/hep-statistics-serialization-standard/HS3TestSuite |
Co-authored-by: Phmonski <simon.cello@web.de>
|
@guitargeek I made all the changes we wanted to. I'm not sure about the failing tests, but I am pretty sure they are unrelated to our changes. |
guitargeek
left a comment
There was a problem hiding this comment.
Thanks again for the updates! Good that for you, everything works now.
@stalbrec, just one more change request for configuration stability 🙂
Indeed, the failures are unrelated. |
|
If it's alright we would like to change the GIT_TAG to an actual annotated tag still in this PR. |
Ah, I just found out that the CMake documentation advises against doing that. |
guitargeek
left a comment
There was a problem hiding this comment.
Very nice, thanks a lot for this addition and addressing all the review comments!
This Pull request:
Changes or fixes:
Adds a new hs3testsuite CMake option that clones the HS3TestSuite (https://github.com/Phmonski/HS3TestSuite) repository and runs the ROOT HS3 conformance checks, ensuring RooFit's JSON serialization stays compatible with the evolving schema.
Checklist: