mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-15 01:15:25 +00:00
tests::newdoc::a_profile_brings_the_color_profile_its_file_carries and tests::saveoptions::an_embedded_profile_is_restored give their front document a non-sRGB RGB profile. That profile becomes the process-wide active color settings and stays active until a document without one comes to the front. Every color the engine test process renders goes through those settings, so the test tests::rasterfilters::each_effect_changes_the_canvas_and_draws_the_same_twice could draw the same art in two colors and fail with "<effect> is deterministic". The two tests now run again in a child process of the test binary through a shared helper, tests::in_own_process. The SVG Drop Shadow test for a non-sRGB working space uses the helper in place of its own copy, and the GLOBAL doc comment in tests/colormgmt.rs names this route. The rasterfilters test now checks that the color settings are the defaults before it draws and that nothing replaced them while it drew. A test that changes them in the same process makes it fail with "another test changed the color settings while this one drew". With the three tests run together (--test-threads=3) on Linux, the rasterfilters test failed 10 of 10 runs without the child processes, each time with that message, and passed 10 of 10 with them.