You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
selfassert: f = f3. "equality not based on nextLink"
119
119
]
120
120
121
+
{ #category : #tests }
122
+
FreeTypeCacheTest>> testGlyphAccessIsThreadSafe [
123
+
"This test tests that concurrent glyph access does not break FreeType's cache.
124
+
Basically the test renders a Rubric morph in concurrent green threads on a big string, and then we compare that the drawn morphs should be bit identical.
125
+
We have made some measurements and observed that putting three concurrent processes made the chance of hitting the bug to almost 94%.
126
+
We arrived to this 94% by (repeteadly) running this test 100 times and observing the number of broken cases (and calculating the average).
127
+
128
+
By applying some probabilities, we concluded that running it just 5 times makes it highly reproducible.
Still, this test is weak in terms of dependencies because it depends in the rendering of Morphic and Rubrik.
141
+
However, trying to simplify it makes the loop inside the testBlock tighter producing less race conditions, and thus it makes the probability of the test drop from 94% to <40%.
0 commit comments