mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-29 12:17:14 -06:00
On a machine busy with other builds, four tests each failed once and passed when run again alone. The two render tests that count the rasters a drag moves draw content painted with a pattern or showing a symbol, whose raster key holds the font generation. The fonts change even while a test holds fonts_steady(): the first lookup by family name catalogs the installed fonts, and resolving a cataloged family or a fallback character loads a face. When that happened between the two frames of a drag, the count was 0. The new with_fonts_unchanged runs a step up to 100 times, until the generation is the same after a run as before it, and the two tests take their frames from it. The second render test, a_moved_group_draws_the_shadow_of_the_instance_art_in_it_while_interacting, was not seen failing but has the same fault. The screenshot test's allow_due moved the capture's due time but not its 8 s wall-clock deadline, so on a slow run the reply was the timeout error. allow_due now also sets the deadline to f64::MAX; the two timeout tests set it in the past themselves. The persistent control server test gave the server 2 s to wait for each request, 120 ms to read a line and 150 ms to write a reply. It now gives the line and the reply 1 s each and the wait 30 s. The handler sleeps 1.25 s, longer than both budgets, so a deadline kept from the first request still runs out. The idle expiry test read until the server closed the connection after its 150 ms idle budget, and the client gave up after 3 s, so a pause of about 3 s in the server's thread failed it with TimedOut. Every test in control_server/tests.rs that waits for the server to reply, to close a connection or to return its slot now waits up to WAIT (20 s), and line_timeouts() gives the wait for a request and the reply 30 s. The budgets under test stay 120 and 150 ms (1 s in the persistent test).