Skip to content

[roottest] use cmake for all root/tree tests#19516

Closed
linev wants to merge 33 commits intoroot-project:masterfrom
linev:roottest_tree_part2
Closed

[roottest] use cmake for all root/tree tests#19516
linev wants to merge 33 commits intoroot-project:masterfrom
linev:roottest_tree_part2

Conversation

@linev
Copy link
Member

@linev linev commented Aug 4, 2025

No description provided.

linev added 13 commits August 1, 2025 10:02
Delete unused tree.h and tree.C macros,
were copied from root/io/treeproblem
Extra rule to copy rootlogin.C script
Remove unused mixing.ref file
Reactivate runabstract.cxx test
Need extra work to use selectors and files from source directory
Two tests failing while eventdata.root file is missing on eos
Getting linker failure when trying to compile hardTreeReaderTest.cpp macro.

```
hardTreeReaderTest_cpp_ACLiC_dict.obj : error LNK2019: unresolved external symbol "public: static class TClass * __cdecl B::Class(void)" (?Class@B@@SAPEAVTClass@@xz) referenced in function "public: class TBranch * __cdecl TTree::Branch<class B>(char const *,class B * *,int,int)" (??$Branch@VB@@@ttree@@QEAAPEAVTBranch@@PEBDPEAPEAVB@@hh@Z) [C:\ROOT-CI\build\roottest\root\tree\reader\roottest-root-tree-reader-hardTreeReaderTest-compile-macro.vcxproj]
  hardTreeReaderTest_cpp_ACLiC_dict.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl B::Streamer(class TBuffer &)" (?Streamer@B@@UEAAXAEAVTBuffer@@@z) [C:\ROOT-CI\build\roottest\root\tree\reader\roottest-root-tree-reader-hardTreeReaderTest-compile-macro.vcxproj]
  hardTreeReaderTest_cpp_ACLiC_dict.obj : error LNK2019: unresolved external symbol "public: static class TClass * __cdecl A::Class(void)" (?Class@A@@SAPEAVTClass@@xz) referenced in function "public: virtual class TClass * __cdecl A::IsA(void)const " (?IsA@A@@UEBAPEAVTClass@@xz) [C:\ROOT-CI\build\roottest\root\tree\reader\roottest-root-tree-reader-hardTreeReaderTest-compile-macro.vcxproj]
  hardTreeReaderTest_cpp_ACLiC_dict.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl A::Streamer(class TBuffer &)" (?Streamer@A@@UEAAXAEAVTBuffer@@@z) [C:\ROOT-CI\build\roottest\root\tree\reader\roottest-root-tree-reader-hardTreeReaderTest-compile-macro.vcxproj]
  C:\ROOT-CI\build\roottest\root\tree\reader\hardTreeReaderTest_cpp.dll : fatal error LNK1120: 4 unresolved externals [C:\ROOT-CI\build\roottest\root\tree\reader\roottest-root-tree-reader-hardTreeReaderTest-compile-macro.vcxproj]
  ```
linev added 11 commits August 4, 2025 16:28
For reflex part create normal dictionary with library
Load necessary reflex or cint library via ROOTEXE_OPTS,
otherwise provided classes not available in named macros
Seems to be on Windows 32bit test works exactly the same
If fails while branch.root file left open.
It works correctly on other platforms
Remove printout with pointer to allow tests on Windows,
otherwise `grep -v 0x` has to be involved which excludes Windows usage
Avoid duplication of dictionary when compile these macros on Windows
Build dictionary in convertIssues/ subdir and correspondent lib before running test
Remove exe bit from many sources
Remove rootlogon.C script - used only with runiobug.C, where necessary script load
with ROOTEXE_OPTS
Typical is compilation problem with dictionaries
Or use or utils.cc
Replace <Riostream.h> by <iostream>
Replace <stdio.h> by <cstdio>
ABC used in some Windows headers as type and conflict with ABC type name used in the original test
On Mac platform may produce compiler warnings
@linev linev force-pushed the roottest_tree_part2 branch from 9a5d2d1 to 7a64410 Compare August 4, 2025 15:23
@pcanal
Copy link
Member

pcanal commented Aug 4, 2025

Is there a way to split the PR by group of 2 or 3 directories?

@github-actions
Copy link

github-actions bot commented Aug 4, 2025

Test Results

    21 files      21 suites   3d 7h 2m 38s ⏱️
 3 389 tests  3 389 ✅ 0 💤 0 ❌
69 410 runs  69 410 ✅ 0 💤 0 ❌

Results for commit 7a64410.

@linev
Copy link
Member Author

linev commented Aug 4, 2025

Is there a way to split the PR by group of 2 or 3 directories?

Yes, it is possible.
Each commit normally changes one sub-directory.
Plus I add extra commits when need to fix/prevent problem on Windows.

There are 33 commits. How much PRs you are want?

@pcanal
Copy link
Member

pcanal commented Aug 4, 2025

You leave it as is or you can split. The difference is that it takes a bit to review each directories and the more there is the harder it is to keep track of which one I have reviewed.

@linev
Copy link
Member Author

linev commented Aug 4, 2025

@pcanal
I create 6 separate PRs.
Let see if they will go through CI

@linev
Copy link
Member Author

linev commented Aug 5, 2025

This big PR splitted on #19522, #19523, #19524, #19525, #19526, #19527

@linev linev closed this Aug 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants