root icon indicating copy to clipboard operation
root copied to clipboard

[roottest] use cmake for `io/evolution` tests

Open linev opened this issue 5 months ago • 9 comments

There are several subdirs, which are handled fully independent now.

Several common scripts like compile.C or run.C moved to directories where they used - numeric_conversion and stl_conversions

Split several reference files - according to independent tests running

Remove no longer necessary .rootrc, rootlogon.C, rootalias.C files

Finally split large makefile test on 171 separate cmake tests

linev avatar Jun 11 '25 14:06 linev

Test Results

    18 files      18 suites   3d 9h 13m 21s ⏱️  3 016 tests  3 016 ✅ 0 💤 0 ❌ 52 835 runs  52 835 ✅ 0 💤 0 ❌

Results for commit a6bde992.

:recycle: This comment has been updated with latest results.

github-actions[bot] avatar Jun 11 '25 17:06 github-actions[bot]

I see sporadic errors of roottest-root-io-evolution-fixarr2 on Mac platforms. Also on my Mac I see in 10% this test failing. Not sure if problem cased by changing from Makefile to cmake

linev avatar Jun 17 '25 13:06 linev

I see sporadic errors of roottest-root-io-evolution-fixarr2 on Mac platforms.

What is the error?

pcanal avatar Jun 17 '25 17:06 pcanal

I see sporadic errors of roottest-root-io-evolution-fixarr2 on Mac platforms.

What is the error?

See result of last CI on mac15:

https://github.com/root-project/root/actions/runs/15714091698/job/44279370611?pr=19012#step:6:8703

It produces stack trace when file is deleted. In rare cases same failure appears on my Mac and once or twice on my Linux.

Old Makefile-based tests may miss such problem while only stdout was analyzed - which is ok at this moment

linev avatar Jun 17 '25 18:06 linev

The variable RootExeOptions and the argument ROOTEXE_OPTS now seems to have the exact same semantic. Any reason to keep both?

For me ROOTEXE_OPTS is much clear compared to RootExeOptions. While RootExeOptions affects all tests in current directory - and subdirs. I rather prefer replace use of RootExeOptions - by ROOTEXE_OPTS. There are very few places in ROOT

linev avatar Jun 17 '25 18:06 linev

For me ROOTEXE_OPTS is much clear compared to RootExeOptions. I rather prefer replace use of RootExeOptions - by ROOTEXE_OPTS.

I totally agree. Can you make a separate PR with just that change? Thanks.

pcanal avatar Jun 17 '25 19:06 pcanal

Old Makefile-based tests may miss such problem while only stdout was analyzed - which is ok at this moment

The old makefile would not (should not) missed any failure that include a stack trace or crash.

pcanal avatar Jun 17 '25 19:06 pcanal

The old makefile would not (should not) missed any failure that include a stack trace or crash.

I just checked roottest repository - Makefile not activate fixarr target. So test was not running at all.

linev avatar Jun 17 '25 20:06 linev

I just checked roottest repository - Makefile not activate fixarr target. So test was not running at all.

Fair enough. We should probably open an issue to remind us to look at it later.

pcanal avatar Jun 17 '25 20:06 pcanal

For me ROOTEXE_OPTS is much clear compared to RootExeOptions. I rather prefer replace use of RootExeOptions - by ROOTEXE_OPTS.

I totally agree. Can you make a separate PR with just that change? Thanks.

@pcanal I prepared such branch: https://github.com/linev/root/tree/roottest_exe_opts

But first this PR must be merged.

linev avatar Jun 18 '25 12:06 linev