diff --git a/graphics/CMakeLists.txt b/graphics/CMakeLists.txt index cf4e7f2163..1e85b6fa18 100644 --- a/graphics/CMakeLists.txt +++ b/graphics/CMakeLists.txt @@ -1,5 +1,4 @@ -# TODO: massive failures hit on Linux, untested on Windows -if (CMAKE_SYSTEM_NAME MATCHES Darwin) +if (NOT MSVC) # Folders for generated files set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) @@ -179,10 +178,7 @@ foreach(TEST_DESCRIPTION ${TEST_DESCRIPTIONS}) # EXEC node Test_JsRoot.js ${macro} ${BUILD_DIR}) elseif(${test_type} STREQUAL "a") - # TODO The JSON comparison has an extremely high failure rate. It is disabled for now - # but has to be re-enabled - #foreach (X "j" "o" "p") - foreach (X "o" "p") + foreach (X "j" "o" "p") ROOTTEST_ADD_TEST(${macro}_${X} MACRO testGraphics.C MACROARG \"${macro}\",\"${X}\",\"${macro_folder}\",\"${BUILD_DIR}\") diff --git a/graphics/json_ref/AtlasExample.json.zip b/graphics/json_ref/AtlasExample.json.zip index 400c90d65f..0a0dab911b 100644 Binary files a/graphics/json_ref/AtlasExample.json.zip and b/graphics/json_ref/AtlasExample.json.zip differ diff --git a/graphics/json_ref/BreitWigner.json.zip b/graphics/json_ref/BreitWigner.json.zip index a704c1d999..b67fdc340f 100644 Binary files a/graphics/json_ref/BreitWigner.json.zip and b/graphics/json_ref/BreitWigner.json.zip differ diff --git a/graphics/json_ref/CrystalBall.json.zip b/graphics/json_ref/CrystalBall.json.zip index 6154fbc489..1fdf544a17 100644 Binary files a/graphics/json_ref/CrystalBall.json.zip and b/graphics/json_ref/CrystalBall.json.zip differ diff --git a/graphics/json_ref/DynamicSlice.json.zip b/graphics/json_ref/DynamicSlice.json.zip index cb008e5988..5d00249040 100644 Binary files a/graphics/json_ref/DynamicSlice.json.zip and b/graphics/json_ref/DynamicSlice.json.zip differ diff --git a/graphics/json_ref/Fibonacci.json.zip b/graphics/json_ref/Fibonacci.json.zip index 2901baa971..2659098bd5 100644 Binary files a/graphics/json_ref/Fibonacci.json.zip and b/graphics/json_ref/Fibonacci.json.zip differ diff --git a/graphics/json_ref/GammaFun.json.zip b/graphics/json_ref/GammaFun.json.zip index 14027d0f92..119123e6da 100644 Binary files a/graphics/json_ref/GammaFun.json.zip and b/graphics/json_ref/GammaFun.json.zip differ diff --git a/graphics/json_ref/NormalizeHistogram.json.zip b/graphics/json_ref/NormalizeHistogram.json.zip index d75979a784..c24efed8bb 100644 Binary files a/graphics/json_ref/NormalizeHistogram.json.zip and b/graphics/json_ref/NormalizeHistogram.json.zip differ diff --git a/graphics/json_ref/TSVDUnfoldExample.json.zip b/graphics/json_ref/TSVDUnfoldExample.json.zip index 71bd693232..bb853ffb4e 100644 Binary files a/graphics/json_ref/TSVDUnfoldExample.json.zip and b/graphics/json_ref/TSVDUnfoldExample.json.zip differ diff --git a/graphics/json_ref/ZoomHistogram.json.zip b/graphics/json_ref/ZoomHistogram.json.zip index 24a1bf175b..1abf4c3687 100644 Binary files a/graphics/json_ref/ZoomHistogram.json.zip and b/graphics/json_ref/ZoomHistogram.json.zip differ diff --git a/graphics/json_ref/analyze.json.zip b/graphics/json_ref/analyze.json.zip index eda213e88c..668198e78f 100644 Binary files a/graphics/json_ref/analyze.json.zip and b/graphics/json_ref/analyze.json.zip differ diff --git a/graphics/json_ref/annotation3d.json.zip b/graphics/json_ref/annotation3d.json.zip index 4baaab188b..d904dcabed 100644 Binary files a/graphics/json_ref/annotation3d.json.zip and b/graphics/json_ref/annotation3d.json.zip differ diff --git a/graphics/json_ref/approx.json.zip b/graphics/json_ref/approx.json.zip index 61658e068e..4a0e5276b8 100644 Binary files a/graphics/json_ref/approx.json.zip and b/graphics/json_ref/approx.json.zip differ diff --git a/graphics/json_ref/archi.json.zip b/graphics/json_ref/archi.json.zip index a81e0454d6..bb4b275756 100644 Binary files a/graphics/json_ref/archi.json.zip and b/graphics/json_ref/archi.json.zip differ diff --git a/graphics/json_ref/arrows.json.zip b/graphics/json_ref/arrows.json.zip index f84ce88a05..a0538d9ca7 100644 Binary files a/graphics/json_ref/arrows.json.zip and b/graphics/json_ref/arrows.json.zip differ diff --git a/graphics/json_ref/basic3d.json.zip b/graphics/json_ref/basic3d.json.zip index fe21bd8202..f85f126ec3 100644 Binary files a/graphics/json_ref/basic3d.json.zip and b/graphics/json_ref/basic3d.json.zip differ diff --git a/graphics/json_ref/candledecay.json.zip b/graphics/json_ref/candledecay.json.zip index 2bf4805730..a5363ccaa2 100644 Binary files a/graphics/json_ref/candledecay.json.zip and b/graphics/json_ref/candledecay.json.zip differ diff --git a/graphics/json_ref/candleplot.json.zip b/graphics/json_ref/candleplot.json.zip index b6bfe8afb3..1e0b122ffb 100644 Binary files a/graphics/json_ref/candleplot.json.zip and b/graphics/json_ref/candleplot.json.zip differ diff --git a/graphics/json_ref/candleplotstack.json.zip b/graphics/json_ref/candleplotstack.json.zip index 3114e51706..21803b085b 100644 Binary files a/graphics/json_ref/candleplotstack.json.zip and b/graphics/json_ref/candleplotstack.json.zip differ diff --git a/graphics/json_ref/candleplotwhiskers.json.zip b/graphics/json_ref/candleplotwhiskers.json.zip index a23b6fd809..7e08a89856 100644 Binary files a/graphics/json_ref/candleplotwhiskers.json.zip and b/graphics/json_ref/candleplotwhiskers.json.zip differ diff --git a/graphics/json_ref/candlescaled.json.zip b/graphics/json_ref/candlescaled.json.zip index 6c257a71e2..63c7c5229f 100644 Binary files a/graphics/json_ref/candlescaled.json.zip and b/graphics/json_ref/candlescaled.json.zip differ diff --git a/graphics/json_ref/canvas.json.zip b/graphics/json_ref/canvas.json.zip index 0092fcbc34..d1f8b3f768 100644 Binary files a/graphics/json_ref/canvas.json.zip and b/graphics/json_ref/canvas.json.zip differ diff --git a/graphics/json_ref/chi2test.json.zip b/graphics/json_ref/chi2test.json.zip index a20dbbc527..c9eed00aed 100644 Binary files a/graphics/json_ref/chi2test.json.zip and b/graphics/json_ref/chi2test.json.zip differ diff --git a/graphics/json_ref/compile.json.zip b/graphics/json_ref/compile.json.zip index 66688eb9f6..020a8a361d 100644 Binary files a/graphics/json_ref/compile.json.zip and b/graphics/json_ref/compile.json.zip differ diff --git a/graphics/json_ref/crown.json.zip b/graphics/json_ref/crown.json.zip index 8d3eb0fcbf..b395da3f95 100644 Binary files a/graphics/json_ref/crown.json.zip and b/graphics/json_ref/crown.json.zip differ diff --git a/graphics/json_ref/ellipse.json.zip b/graphics/json_ref/ellipse.json.zip index e861e72d87..350b726f5d 100644 Binary files a/graphics/json_ref/ellipse.json.zip and b/graphics/json_ref/ellipse.json.zip differ diff --git a/graphics/json_ref/eval.json.zip b/graphics/json_ref/eval.json.zip index 3b82de7636..38553d1c1b 100644 Binary files a/graphics/json_ref/eval.json.zip and b/graphics/json_ref/eval.json.zip differ diff --git a/graphics/json_ref/event.json.zip b/graphics/json_ref/event.json.zip index c2c04973a5..087e1d524a 100644 Binary files a/graphics/json_ref/event.json.zip and b/graphics/json_ref/event.json.zip differ diff --git a/graphics/json_ref/exclusiongraph.json.zip b/graphics/json_ref/exclusiongraph.json.zip index 2c98a74433..574b408839 100644 Binary files a/graphics/json_ref/exclusiongraph.json.zip and b/graphics/json_ref/exclusiongraph.json.zip differ diff --git a/graphics/json_ref/exclusiongraph2.json.zip b/graphics/json_ref/exclusiongraph2.json.zip index 6e4153c3c0..45b71bc85c 100644 Binary files a/graphics/json_ref/exclusiongraph2.json.zip and b/graphics/json_ref/exclusiongraph2.json.zip differ diff --git a/graphics/json_ref/feynman.json.zip b/graphics/json_ref/feynman.json.zip index cc94204fc2..14684843c9 100644 Binary files a/graphics/json_ref/feynman.json.zip and b/graphics/json_ref/feynman.json.zip differ diff --git a/graphics/json_ref/fillhistosauto2p.json.zip b/graphics/json_ref/fillhistosauto2p.json.zip index dd88fda2fa..9931169b2d 100644 Binary files a/graphics/json_ref/fillhistosauto2p.json.zip and b/graphics/json_ref/fillhistosauto2p.json.zip differ diff --git a/graphics/json_ref/fillrandom.json.zip b/graphics/json_ref/fillrandom.json.zip index babc99b634..2a1c883651 100644 Binary files a/graphics/json_ref/fillrandom.json.zip and b/graphics/json_ref/fillrandom.json.zip differ diff --git a/graphics/json_ref/first.json.zip b/graphics/json_ref/first.json.zip index 50e22761a3..65d63cd29e 100644 Binary files a/graphics/json_ref/first.json.zip and b/graphics/json_ref/first.json.zip differ diff --git a/graphics/json_ref/formula1.json.zip b/graphics/json_ref/formula1.json.zip index a6d7818fb9..9d8af628e5 100644 Binary files a/graphics/json_ref/formula1.json.zip and b/graphics/json_ref/formula1.json.zip differ diff --git a/graphics/json_ref/framework.json.zip b/graphics/json_ref/framework.json.zip index 6edb6e0902..d9080f3298 100644 Binary files a/graphics/json_ref/framework.json.zip and b/graphics/json_ref/framework.json.zip differ diff --git a/graphics/json_ref/gaussian_ratio_plot.json.zip b/graphics/json_ref/gaussian_ratio_plot.json.zip index 81cc182096..5ee0b8c793 100644 Binary files a/graphics/json_ref/gaussian_ratio_plot.json.zip and b/graphics/json_ref/gaussian_ratio_plot.json.zip differ diff --git a/graphics/json_ref/gaxis.json.zip b/graphics/json_ref/gaxis.json.zip index 80efc3821a..17c63a20ec 100644 Binary files a/graphics/json_ref/gaxis.json.zip and b/graphics/json_ref/gaxis.json.zip differ diff --git a/graphics/json_ref/gaxis3.json.zip b/graphics/json_ref/gaxis3.json.zip index b05d1e06e6..f497c687aa 100644 Binary files a/graphics/json_ref/gaxis3.json.zip and b/graphics/json_ref/gaxis3.json.zip differ diff --git a/graphics/json_ref/gerrors.json.zip b/graphics/json_ref/gerrors.json.zip index c0775c1cd9..eb02d37e46 100644 Binary files a/graphics/json_ref/gerrors.json.zip and b/graphics/json_ref/gerrors.json.zip differ diff --git a/graphics/json_ref/gerrors2.json.zip b/graphics/json_ref/gerrors2.json.zip index 6fedbdde7c..8bc98d0004 100644 Binary files a/graphics/json_ref/gerrors2.json.zip and b/graphics/json_ref/gerrors2.json.zip differ diff --git a/graphics/json_ref/gmultierrors.json.zip b/graphics/json_ref/gmultierrors.json.zip index e376ebd416..4f25f0855a 100644 Binary files a/graphics/json_ref/gmultierrors.json.zip and b/graphics/json_ref/gmultierrors.json.zip differ diff --git a/graphics/json_ref/graph.json.zip b/graphics/json_ref/graph.json.zip index 2f78724719..4f6fbbc710 100644 Binary files a/graphics/json_ref/graph.json.zip and b/graphics/json_ref/graph.json.zip differ diff --git a/graphics/json_ref/graph2derrorsfit.json.zip b/graphics/json_ref/graph2derrorsfit.json.zip index a0b087ec63..77b41267c3 100644 Binary files a/graphics/json_ref/graph2derrorsfit.json.zip and b/graphics/json_ref/graph2derrorsfit.json.zip differ diff --git a/graphics/json_ref/graphApply.json.zip b/graphics/json_ref/graphApply.json.zip index bcd5267ae4..95837a1486 100644 Binary files a/graphics/json_ref/graphApply.json.zip and b/graphics/json_ref/graphApply.json.zip differ diff --git a/graphics/json_ref/graphShade.json.zip b/graphics/json_ref/graphShade.json.zip index 086f31128e..443278d0cb 100644 Binary files a/graphics/json_ref/graphShade.json.zip and b/graphics/json_ref/graphShade.json.zip differ diff --git a/graphics/json_ref/graphpolar.json.zip b/graphics/json_ref/graphpolar.json.zip index 6cad5bed33..6c6316b77e 100644 Binary files a/graphics/json_ref/graphpolar.json.zip and b/graphics/json_ref/graphpolar.json.zip differ diff --git a/graphics/json_ref/graphpolar2.json.zip b/graphics/json_ref/graphpolar2.json.zip index 52523aaae0..8afe896cc5 100644 Binary files a/graphics/json_ref/graphpolar2.json.zip and b/graphics/json_ref/graphpolar2.json.zip differ diff --git a/graphics/json_ref/graphpolar3.json.zip b/graphics/json_ref/graphpolar3.json.zip index 1ee6a2aea4..b86b7bf854 100644 Binary files a/graphics/json_ref/graphpolar3.json.zip and b/graphics/json_ref/graphpolar3.json.zip differ diff --git a/graphics/json_ref/graphreverse.json.zip b/graphics/json_ref/graphreverse.json.zip index ac1fa23c92..710ae599ad 100644 Binary files a/graphics/json_ref/graphreverse.json.zip and b/graphics/json_ref/graphreverse.json.zip differ diff --git a/graphics/json_ref/greyscale.json.zip b/graphics/json_ref/greyscale.json.zip index b3a5fd464c..06f0e2b300 100644 Binary files a/graphics/json_ref/greyscale.json.zip and b/graphics/json_ref/greyscale.json.zip differ diff --git a/graphics/json_ref/h2_cut.json.zip b/graphics/json_ref/h2_cut.json.zip index 4c46a4525d..3dc0456973 100644 Binary files a/graphics/json_ref/h2_cut.json.zip and b/graphics/json_ref/h2_cut.json.zip differ diff --git a/graphics/json_ref/h2proj.json.zip b/graphics/json_ref/h2proj.json.zip index adf7e1ba58..3369a01d7f 100644 Binary files a/graphics/json_ref/h2proj.json.zip and b/graphics/json_ref/h2proj.json.zip differ diff --git a/graphics/json_ref/histpalettecolor.json.zip b/graphics/json_ref/histpalettecolor.json.zip index def402d8d8..1ee4f956b9 100644 Binary files a/graphics/json_ref/histpalettecolor.json.zip and b/graphics/json_ref/histpalettecolor.json.zip differ diff --git a/graphics/json_ref/hksimple.json.zip b/graphics/json_ref/hksimple.json.zip index e87578da79..e645e2ee0f 100644 Binary files a/graphics/json_ref/hksimple.json.zip and b/graphics/json_ref/hksimple.json.zip differ diff --git a/graphics/json_ref/hlGraph1.json.zip b/graphics/json_ref/hlGraph1.json.zip index 30ffe24135..91762e337e 100644 Binary files a/graphics/json_ref/hlGraph1.json.zip and b/graphics/json_ref/hlGraph1.json.zip differ diff --git a/graphics/json_ref/hlHisto1.json.zip b/graphics/json_ref/hlHisto1.json.zip index 4916213946..d85bb95cf4 100644 Binary files a/graphics/json_ref/hlHisto1.json.zip and b/graphics/json_ref/hlHisto1.json.zip differ diff --git a/graphics/json_ref/hlHisto2.json.zip b/graphics/json_ref/hlHisto2.json.zip index c9bdf8a5ee..330a86699f 100644 Binary files a/graphics/json_ref/hlHisto2.json.zip and b/graphics/json_ref/hlHisto2.json.zip differ diff --git a/graphics/json_ref/hlHisto4.json.zip b/graphics/json_ref/hlHisto4.json.zip deleted file mode 100644 index 96ee4cdc30..0000000000 Binary files a/graphics/json_ref/hlHisto4.json.zip and /dev/null differ diff --git a/graphics/json_ref/hlabels1.json.zip b/graphics/json_ref/hlabels1.json.zip index 35cfe49bb6..d8550331ff 100644 Binary files a/graphics/json_ref/hlabels1.json.zip and b/graphics/json_ref/hlabels1.json.zip differ diff --git a/graphics/json_ref/hlquantiles.json.zip b/graphics/json_ref/hlquantiles.json.zip index dd11c6318c..654357704c 100644 Binary files a/graphics/json_ref/hlquantiles.json.zip and b/graphics/json_ref/hlquantiles.json.zip differ diff --git a/graphics/json_ref/hstack.json.zip b/graphics/json_ref/hstack.json.zip index 58c69866c9..60b7d90e29 100644 Binary files a/graphics/json_ref/hstack.json.zip and b/graphics/json_ref/hstack.json.zip differ diff --git a/graphics/json_ref/labels1.json.zip b/graphics/json_ref/labels1.json.zip index 4b85bb7527..adfe00429f 100644 Binary files a/graphics/json_ref/labels1.json.zip and b/graphics/json_ref/labels1.json.zip differ diff --git a/graphics/json_ref/labels2.json.zip b/graphics/json_ref/labels2.json.zip index cd8c05c904..2b08f5426c 100644 Binary files a/graphics/json_ref/labels2.json.zip and b/graphics/json_ref/labels2.json.zip differ diff --git a/graphics/json_ref/latex.json.zip b/graphics/json_ref/latex.json.zip index 47fbd90c2c..aafccdf0ca 100644 Binary files a/graphics/json_ref/latex.json.zip and b/graphics/json_ref/latex.json.zip differ diff --git a/graphics/json_ref/latex2.json.zip b/graphics/json_ref/latex2.json.zip index 05cb3b8dcd..a44e2910d3 100644 Binary files a/graphics/json_ref/latex2.json.zip and b/graphics/json_ref/latex2.json.zip differ diff --git a/graphics/json_ref/latex3.json.zip b/graphics/json_ref/latex3.json.zip index b53bc18f4e..0aeb9ce0a5 100644 Binary files a/graphics/json_ref/latex3.json.zip and b/graphics/json_ref/latex3.json.zip differ diff --git a/graphics/json_ref/latex4.json.zip b/graphics/json_ref/latex4.json.zip index a93171da60..bba4358b04 100644 Binary files a/graphics/json_ref/latex4.json.zip and b/graphics/json_ref/latex4.json.zip differ diff --git a/graphics/json_ref/latex5.json.zip b/graphics/json_ref/latex5.json.zip index 4b579e8051..a2aadd6cb3 100644 Binary files a/graphics/json_ref/latex5.json.zip and b/graphics/json_ref/latex5.json.zip differ diff --git a/graphics/json_ref/legendautoplaced.json.zip b/graphics/json_ref/legendautoplaced.json.zip index 36dde6912b..124770b109 100644 Binary files a/graphics/json_ref/legendautoplaced.json.zip and b/graphics/json_ref/legendautoplaced.json.zip differ diff --git a/graphics/json_ref/logscales.json.zip b/graphics/json_ref/logscales.json.zip index b87270e175..c7c4f5bfcd 100644 Binary files a/graphics/json_ref/logscales.json.zip and b/graphics/json_ref/logscales.json.zip differ diff --git a/graphics/json_ref/markerwarning.json.zip b/graphics/json_ref/markerwarning.json.zip index 677b709a12..10242188eb 100644 Binary files a/graphics/json_ref/markerwarning.json.zip and b/graphics/json_ref/markerwarning.json.zip differ diff --git a/graphics/json_ref/mass_spectrum.json.zip b/graphics/json_ref/mass_spectrum.json.zip index 90d4346016..e7883ec24c 100644 Binary files a/graphics/json_ref/mass_spectrum.json.zip and b/graphics/json_ref/mass_spectrum.json.zip differ diff --git a/graphics/json_ref/mathBeta.json.zip b/graphics/json_ref/mathBeta.json.zip index ac6a06b92b..58613e748f 100644 Binary files a/graphics/json_ref/mathBeta.json.zip and b/graphics/json_ref/mathBeta.json.zip differ diff --git a/graphics/json_ref/mathGammaNormal.json.zip b/graphics/json_ref/mathGammaNormal.json.zip index 3aabcf01ad..96681f2ab3 100644 Binary files a/graphics/json_ref/mathGammaNormal.json.zip and b/graphics/json_ref/mathGammaNormal.json.zip differ diff --git a/graphics/json_ref/mathLaplace.json.zip b/graphics/json_ref/mathLaplace.json.zip index ac6cb9fac9..ef7e3dfb32 100644 Binary files a/graphics/json_ref/mathLaplace.json.zip and b/graphics/json_ref/mathLaplace.json.zip differ diff --git a/graphics/json_ref/mathStudent.json.zip b/graphics/json_ref/mathStudent.json.zip index f8a3fabcd7..fa2feaec65 100644 Binary files a/graphics/json_ref/mathStudent.json.zip and b/graphics/json_ref/mathStudent.json.zip differ diff --git a/graphics/json_ref/mathcoreCDF.json.zip b/graphics/json_ref/mathcoreCDF.json.zip index 397a4ae93a..fab8839b10 100644 Binary files a/graphics/json_ref/mathcoreCDF.json.zip and b/graphics/json_ref/mathcoreCDF.json.zip differ diff --git a/graphics/json_ref/mathcoreStatFunc.json.zip b/graphics/json_ref/mathcoreStatFunc.json.zip index c04d6b681c..f8453ad4da 100644 Binary files a/graphics/json_ref/mathcoreStatFunc.json.zip and b/graphics/json_ref/mathcoreStatFunc.json.zip differ diff --git a/graphics/json_ref/movepalette.json.zip b/graphics/json_ref/movepalette.json.zip index b7573c0c56..aad5b2f9c5 100644 Binary files a/graphics/json_ref/movepalette.json.zip and b/graphics/json_ref/movepalette.json.zip differ diff --git a/graphics/json_ref/multicolor.json.zip b/graphics/json_ref/multicolor.json.zip index 0018e44690..7241d538a0 100644 Binary files a/graphics/json_ref/multicolor.json.zip and b/graphics/json_ref/multicolor.json.zip differ diff --git a/graphics/json_ref/multigraph.json.zip b/graphics/json_ref/multigraph.json.zip index 4117eebac8..1f04bdab3d 100644 Binary files a/graphics/json_ref/multigraph.json.zip and b/graphics/json_ref/multigraph.json.zip differ diff --git a/graphics/json_ref/normalDist.json.zip b/graphics/json_ref/normalDist.json.zip index bca84a0440..3612b60e62 100644 Binary files a/graphics/json_ref/normalDist.json.zip and b/graphics/json_ref/normalDist.json.zip differ diff --git a/graphics/json_ref/pavetext.json.zip b/graphics/json_ref/pavetext.json.zip index 89860cdebf..4932105170 100644 Binary files a/graphics/json_ref/pavetext.json.zip and b/graphics/json_ref/pavetext.json.zip differ diff --git a/graphics/json_ref/piechart.json.zip b/graphics/json_ref/piechart.json.zip index 3b3d45e978..f3f881bf3d 100644 Binary files a/graphics/json_ref/piechart.json.zip and b/graphics/json_ref/piechart.json.zip differ diff --git a/graphics/json_ref/quantiles.json.zip b/graphics/json_ref/quantiles.json.zip index b7432fc8d5..f610b46733 100644 Binary files a/graphics/json_ref/quantiles.json.zip and b/graphics/json_ref/quantiles.json.zip differ diff --git a/graphics/json_ref/quarks.json.zip b/graphics/json_ref/quarks.json.zip index a7e6175b98..dbbfff5797 100644 Binary files a/graphics/json_ref/quarks.json.zip and b/graphics/json_ref/quarks.json.zip differ diff --git a/graphics/json_ref/ratioplot1.json.zip b/graphics/json_ref/ratioplot1.json.zip index 351e478cc8..ede6809dd9 100644 Binary files a/graphics/json_ref/ratioplot1.json.zip and b/graphics/json_ref/ratioplot1.json.zip differ diff --git a/graphics/json_ref/ratioplot2.json.zip b/graphics/json_ref/ratioplot2.json.zip index 9d70858ee2..a7a005a0aa 100644 Binary files a/graphics/json_ref/ratioplot2.json.zip and b/graphics/json_ref/ratioplot2.json.zip differ diff --git a/graphics/json_ref/ratioplot3.json.zip b/graphics/json_ref/ratioplot3.json.zip index 27c64af63f..3b30b21ca4 100644 Binary files a/graphics/json_ref/ratioplot3.json.zip and b/graphics/json_ref/ratioplot3.json.zip differ diff --git a/graphics/json_ref/ratioplot4.json.zip b/graphics/json_ref/ratioplot4.json.zip index 27a093bb01..4e79594c63 100644 Binary files a/graphics/json_ref/ratioplot4.json.zip and b/graphics/json_ref/ratioplot4.json.zip differ diff --git a/graphics/json_ref/ratioplot5.json.zip b/graphics/json_ref/ratioplot5.json.zip index 0909fc3f21..5f3429ad8a 100644 Binary files a/graphics/json_ref/ratioplot5.json.zip and b/graphics/json_ref/ratioplot5.json.zip differ diff --git a/graphics/json_ref/ratioplot6.json.zip b/graphics/json_ref/ratioplot6.json.zip index a848832e72..2de2446fb5 100644 Binary files a/graphics/json_ref/ratioplot6.json.zip and b/graphics/json_ref/ratioplot6.json.zip differ diff --git a/graphics/json_ref/ratioplotOld.json.zip b/graphics/json_ref/ratioplotOld.json.zip index 724e154f05..cc45404256 100644 Binary files a/graphics/json_ref/ratioplotOld.json.zip and b/graphics/json_ref/ratioplotOld.json.zip differ diff --git a/graphics/json_ref/rebin.json.zip b/graphics/json_ref/rebin.json.zip index b108464e0e..4e19123901 100644 Binary files a/graphics/json_ref/rebin.json.zip and b/graphics/json_ref/rebin.json.zip differ diff --git a/graphics/json_ref/reverseaxis.json.zip b/graphics/json_ref/reverseaxis.json.zip index 6bceb30102..5c1741ddf9 100644 Binary files a/graphics/json_ref/reverseaxis.json.zip and b/graphics/json_ref/reverseaxis.json.zip differ diff --git a/graphics/json_ref/scatter.json.zip b/graphics/json_ref/scatter.json.zip index 23990ab72f..463586a61c 100644 Binary files a/graphics/json_ref/scatter.json.zip and b/graphics/json_ref/scatter.json.zip differ diff --git a/graphics/json_ref/schroedinger_hydrogen.json.zip b/graphics/json_ref/schroedinger_hydrogen.json.zip index a47666e089..bd4124ced8 100644 Binary files a/graphics/json_ref/schroedinger_hydrogen.json.zip and b/graphics/json_ref/schroedinger_hydrogen.json.zip differ diff --git a/graphics/json_ref/statsEditing.json.zip b/graphics/json_ref/statsEditing.json.zip deleted file mode 100644 index 29ee419ca9..0000000000 Binary files a/graphics/json_ref/statsEditing.json.zip and /dev/null differ diff --git a/graphics/json_ref/surfaces.json.zip b/graphics/json_ref/surfaces.json.zip index 8606a8952d..4daa6000e4 100644 Binary files a/graphics/json_ref/surfaces.json.zip and b/graphics/json_ref/surfaces.json.zip differ diff --git a/graphics/json_ref/testSmooth.json.zip b/graphics/json_ref/testSmooth.json.zip index 642e1dd42f..5098a6e7b8 100644 Binary files a/graphics/json_ref/testSmooth.json.zip and b/graphics/json_ref/testSmooth.json.zip differ diff --git a/graphics/json_ref/th2polyBoxes.json.zip b/graphics/json_ref/th2polyBoxes.json.zip index 4ccc08bcfd..ea5343d2c8 100644 Binary files a/graphics/json_ref/th2polyBoxes.json.zip and b/graphics/json_ref/th2polyBoxes.json.zip differ diff --git a/graphics/json_ref/th2polyEurope.json.zip b/graphics/json_ref/th2polyEurope.json.zip index f99bb9d952..f71998094f 100644 Binary files a/graphics/json_ref/th2polyEurope.json.zip and b/graphics/json_ref/th2polyEurope.json.zip differ diff --git a/graphics/json_ref/th2polyHoneycomb.json.zip b/graphics/json_ref/th2polyHoneycomb.json.zip index 8fcd49b397..214a7461b6 100644 Binary files a/graphics/json_ref/th2polyHoneycomb.json.zip and b/graphics/json_ref/th2polyHoneycomb.json.zip differ diff --git a/graphics/json_ref/th2polyUSA.json.zip b/graphics/json_ref/th2polyUSA.json.zip index 61394f34cf..903733af28 100644 Binary files a/graphics/json_ref/th2polyUSA.json.zip and b/graphics/json_ref/th2polyUSA.json.zip differ diff --git a/graphics/json_ref/timeonaxis.json.zip b/graphics/json_ref/timeonaxis.json.zip index 10fbc9f58d..804aa37b22 100644 Binary files a/graphics/json_ref/timeonaxis.json.zip and b/graphics/json_ref/timeonaxis.json.zip differ diff --git a/graphics/json_ref/timeonaxis2.json.zip b/graphics/json_ref/timeonaxis2.json.zip index 2feba5b7dc..f2d0c1820f 100644 Binary files a/graphics/json_ref/timeonaxis2.json.zip and b/graphics/json_ref/timeonaxis2.json.zip differ diff --git a/graphics/json_ref/timeonaxis3.json.zip b/graphics/json_ref/timeonaxis3.json.zip index 9f542fc8a3..fa7a5707b6 100644 Binary files a/graphics/json_ref/timeonaxis3.json.zip and b/graphics/json_ref/timeonaxis3.json.zip differ diff --git a/graphics/json_ref/tmathtext.json.zip b/graphics/json_ref/tmathtext.json.zip index ef97b763d8..620e9db10a 100644 Binary files a/graphics/json_ref/tmathtext.json.zip and b/graphics/json_ref/tmathtext.json.zip differ diff --git a/graphics/json_ref/tmathtext2.json.zip b/graphics/json_ref/tmathtext2.json.zip index ded8f1bcc3..3cb27ebb39 100644 Binary files a/graphics/json_ref/tmathtext2.json.zip and b/graphics/json_ref/tmathtext2.json.zip differ diff --git a/graphics/json_ref/transpad.json.zip b/graphics/json_ref/transpad.json.zip deleted file mode 100644 index b3066798ab..0000000000 Binary files a/graphics/json_ref/transpad.json.zip and /dev/null differ diff --git a/graphics/json_ref/transparency.json.zip b/graphics/json_ref/transparency.json.zip index d8f783b6ad..9bac30fe35 100644 Binary files a/graphics/json_ref/transparency.json.zip and b/graphics/json_ref/transparency.json.zip differ diff --git a/graphics/json_ref/triangles.json.zip b/graphics/json_ref/triangles.json.zip index 9494b072b8..5e72c4a407 100644 Binary files a/graphics/json_ref/triangles.json.zip and b/graphics/json_ref/triangles.json.zip differ diff --git a/graphics/json_ref/twoscales.json.zip b/graphics/json_ref/twoscales.json.zip index e2c4aa0a43..9e3e57a552 100644 Binary files a/graphics/json_ref/twoscales.json.zip and b/graphics/json_ref/twoscales.json.zip differ diff --git a/graphics/json_ref/vavilov.json.zip b/graphics/json_ref/vavilov.json.zip index 5583581333..0c6b142153 100644 Binary files a/graphics/json_ref/vavilov.json.zip and b/graphics/json_ref/vavilov.json.zip differ diff --git a/graphics/json_ref/waves.json.zip b/graphics/json_ref/waves.json.zip index 91500250b1..8a4496b3f0 100644 Binary files a/graphics/json_ref/waves.json.zip and b/graphics/json_ref/waves.json.zip differ diff --git a/graphics/json_ref/xyplot.json.zip b/graphics/json_ref/xyplot.json.zip index 526308c858..e5a2dd9d91 100644 Binary files a/graphics/json_ref/xyplot.json.zip and b/graphics/json_ref/xyplot.json.zip differ diff --git a/graphics/json_ref/zdemo.json.zip b/graphics/json_ref/zdemo.json.zip index e7ed666be1..834c25a7d8 100644 Binary files a/graphics/json_ref/zdemo.json.zip and b/graphics/json_ref/zdemo.json.zip differ diff --git a/graphics/json_ref/zones.json.zip b/graphics/json_ref/zones.json.zip index cc4dbb33f1..1ac37aaa9e 100644 Binary files a/graphics/json_ref/zones.json.zip and b/graphics/json_ref/zones.json.zip differ diff --git a/graphics/testGraphics.C b/graphics/testGraphics.C index 3c502435f1..fd80d5114f 100644 --- a/graphics/testGraphics.C +++ b/graphics/testGraphics.C @@ -21,55 +21,18 @@ #include "TLatex.h" #include -#include -#include -#include -#include #include -#include #include +#include +#include +#include #include #include +#include +#include +#include -// FUNCTION DECLARATIONS - -// JSON Preprocessing -std::string preprocessJSONContent(const std::string& jsonString); - -// JSON Comparison -bool compare_json(const TString& jsonOutput, const std::string& ref_filename, const std::string& macroName); - -// JSON Test -int test_json(TCanvas* c1, const std::string& macroName, const std::string& builddir); - -// File Content Reading -std::string readFileToString(const std::string& filePath); - -// SVG Preprocessing -std::string preprocessSVGContent(const std::string& svgContent); - -// SVG Comparison -bool compareSVGFiles(const std::string& filePath1, const std::string& filePath2); - -// SVG Test -int test_svg(TCanvas* c1, const std::string& macroName, const std::string& builddir); - -// PDF Preprocessing -std::string preprocessPDFContent(const std::string& pdfString); - -// PDF Comparison -bool comparePDFFiles(const std::string& filePath1, const std::string& filePath2); - -// PDF Test -int test_pdf(TCanvas* c1, const std::string& macroName, const std::string& builddir); - -// Root Test -int testGraphics(const std::string& macroName, const std::string& test_type, const std::string& macro_folder, const std::string& builddir); - -// MAIN FUNCTION -int main(int argc, char** argv); -// FUNCTION DEFINITIONS //---------------------HELPER-------------------------------------------------------------- // Function to read file content into a string std::string readFileToString(const std::string& filePath) { @@ -82,6 +45,39 @@ std::string readFileToString(const std::string& filePath) { return buffer.str(); } +std::vector splitString(const std::string &str, const char delimiter = '\n') +{ + auto lines = std::vector{}; + lines.reserve(128); + auto strAsStream = std::stringstream{str}; + + for (std::string line; std::getline(strAsStream, line, delimiter);) { + lines.emplace_back(line); + } + + return lines; +} + +void printSideBySide(const std::string &str1, const std::string &str2) +{ + auto lines1 = splitString(str1); + auto lines2 = splitString(str2); + unsigned int idx1 = 0; + unsigned int idx2 = 0; + for (auto [idx1, idx2] = std::tuple{0, 0}; + idx1 != lines1.size() || idx2 != lines2.size();) { + auto &line1 = lines1[idx1]; + auto &line2 = lines2[idx2]; + if (line1 != line2) { + std::cout << idx1 << ", " << idx2 << ": " << line1 << " <-> " << line2 << std::endl; + } + if (idx1 < lines1.size()) + ++idx1; + if (idx2 < lines2.size()) + ++idx2; + } +} + //---------------------JSON---------------------------------------------------------------- std::string preprocessJSONContent(const std::string& jsonString) { std::string result = jsonString; @@ -122,7 +118,10 @@ bool compare_json(const TString& jsonOutput, const std::string& ref_filename, co std::cerr << "Length of produced JSON after adjustments: " << jsonOutput.Length() << std::endl; std::cerr << "Length of reference JSON after adjustments: " << refBuffer.str().length() << std::endl; - return produced_json == reference_json; + const auto areEqual = produced_json == reference_json; + if (!areEqual) printSideBySide(produced_json, reference_json); + + return areEqual; } int test_json(TCanvas* c1, const std::string& macroName, const std::string& builddir) { @@ -133,14 +132,29 @@ int test_json(TCanvas* c1, const std::string& macroName, const std::string& buil std::string ref_filename = "./json_ref/" + macroName + ".json"; std::string jsonFilePath = builddir + "/json_pro/" + macroName + "_pro.json"; - // Save generated Json file - std::ofstream jsonFile(jsonFilePath); - if (jsonFile.is_open()) { - jsonFile << jsonOutput.Data(); - jsonFile.close(); + FileStat_t fstat; + if (1 == gSystem->GetPathInfo(ref_filename.c_str(), fstat)) { + std::cout << "Reference JSON file not found. Saving generated JSON file as reference." << std::endl; + // Save the generated JSON file as reference + std::ofstream jsonFile(ref_filename); + if (jsonFile.is_open()) { + jsonFile << jsonOutput.Data(); + jsonFile.close(); + return 1; + } else { + std::cerr << "Error: Unable to open file for writing: " << ref_filename << std::endl; + return 1; + } } else { - std::cerr << "Error: Unable to open file for writing" << std::endl; - return 1; + // Save the generated JSON file + std::ofstream jsonFile(jsonFilePath); + if (jsonFile.is_open()) { + jsonFile << jsonOutput.Data(); + jsonFile.close(); + } else { + std::cerr << "Error: Unable to open file for writing: " << jsonFilePath << std::endl; + return 1; + } } // Compare the created JSON to the reference JSON @@ -148,16 +162,6 @@ int test_json(TCanvas* c1, const std::string& macroName, const std::string& buil std::cout << "JSON test passed for " << macroName << std::endl; } else { std::cerr << "JSON test failed for " << macroName << std::endl; - - // // Overwrite the reference JSON file with the produced one - // std::ofstream refFile(ref_filename); - // if (refFile.is_open()) { - // refFile << jsonOutput.Data(); - // refFile.close(); - // std::cerr << "Reference JSON file updated for " << macroName << std::endl; - // } else { - // std::cerr << "Error: Unable to open reference file for writing" << std::endl; - // } return 1; } return 0; @@ -192,7 +196,10 @@ bool compareSVGFiles(const std::string& filePath1, const std::string& filePath2) std::cerr << "Length of produced SVG after adjustments: " << content1.length() << std::endl; std::cerr << "Length of reference SVG after adjustments: " << content2.length() << std::endl; - return content1 == content2; + const auto areEqual = content1 == content2; + if (!areEqual) printSideBySide(content1, content2); + + return areEqual; } catch (const std::exception& e) { std::cerr << "Error: " << e.what() << std::endl; @@ -250,7 +257,6 @@ bool comparePDFFiles(const std::string& filePath1, const std::string& filePath2) try { std::string content1 = readFileToString(filePath1); std::string content2 = readFileToString(filePath2); - //std::cout << content1 << std::endl; content1 = preprocessPDFContent(content1); content2 = preprocessPDFContent(content2); @@ -259,7 +265,10 @@ bool comparePDFFiles(const std::string& filePath1, const std::string& filePath2) std::cerr << "Length of produced PDF after adjustments: " << content1.length() << std::endl; std::cerr << "Length of reference PDF after adjustments: " << content2.length() << std::endl; - return content1 == content2; + const auto areEqual = content1 == content2; + if (!areEqual) printSideBySide(content1, content2); + + return areEqual; } catch (const std::exception& e) { std::cerr << "Error: " << e.what() << std::endl;