Skip to content

Conversation

@linev
Copy link
Member

@linev linev commented Oct 15, 2025

stressGraphics already has different graphics objects so one can test them in SVG generation.
But not only size of produced SVG, but also exact content must match.

So add reference SVG files, created in compact mode, and check that they remains the same.

There are very few "known" problem why SVG files differ on different platforms.
Like time axis in tgaxis4() test.
Also several tests were disabled while producing too big SVG file - which can be changed in the future.
But many issues were resolved with #20131, #20143, #20144

After PR is merged one will have exact testing of how ROOT graphics paint objects.

@linev linev self-assigned this Oct 15, 2025
@linev linev requested review from bellenot and couet as code owners October 15, 2025 14:21
@linev linev requested a review from dpiparo as a code owner October 15, 2025 14:21
@linev linev marked this pull request as draft October 15, 2025 14:21
@github-actions
Copy link

github-actions bot commented Oct 15, 2025

Test Results

    22 files      22 suites   3d 21h 25m 45s ⏱️
 3 694 tests  3 688 ✅ 0 💤 6 ❌
79 312 runs  79 306 ✅ 0 💤 6 ❌

For more details on these failures, see this check.

Results for commit bd5f5c2.

♻️ This comment has been updated with latest results.

@linev linev force-pushed the stress_svg branch 12 times, most recently from 4b7c1fe to 5f19049 Compare October 21, 2025 13:59
linev added 4 commits October 23, 2025 09:58
Create SVG files in compact or full form
and then compare them with provided reference files
In SVG mode use only GMT time to have reproducible time on all platforms
in all time zones.

To exclude variation of %Z output of strftime on different platforms
just always printout GMT directly
Avoid deviation in graphics due to fitting
If relative position changes only by small value - ignore this change.
Let exclude rounding effects for testing when compact SVG form created
@linev linev marked this pull request as ready for review October 23, 2025 07:58
linev added 2 commits October 23, 2025 10:15
First provide SVG mode in stressGraphics to let generate only SVG files.
Such SVG created in compact form which is now provided with TSVG class.
When check reference files, compare line by line and print difference
Some canvases disabled because of huge size which should be optimized first

Content of reference SVG files must be exactly the same on all platforms.
@linev linev merged commit f9c1eee into root-project:master Oct 23, 2025
23 of 27 checks passed
@linev linev deleted the stress_svg branch October 23, 2025 11:45
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