mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-10-31 08:15:02 +00:00
Merge pull request #16 from Novaloop-AG/ci/screenshot-fork-per-test-class
Give each screenshot test class its own JVM
This commit is contained in:
@@ -156,6 +156,17 @@ allprojects {
|
||||
if (isScreenshotTest) {
|
||||
// Increase heap size for screenshot tests
|
||||
maxHeapSize = "2g"
|
||||
// Give every screenshot test class its own JVM.
|
||||
//
|
||||
// There are 5 screenshot classes (PreviewShard1..4Test + PreviewA11yTest) and each
|
||||
// shard renders ~770 previews in a single process. Gradle reuses a forked JVM for the
|
||||
// next class once maxParallelForks is exhausted, so on a 6-core runner (forks = 3) two
|
||||
// classes run second, in a process that has already rendered a full shard — and they
|
||||
// render differently from how the goldens were recorded. That is exactly the observed
|
||||
// failure: shards 2 and 4 fail 100% while 1 and 3 pass 100%, deterministically, for
|
||||
// byte-identical states. The 8-core runner (forks = 4) reused only one JVM and was green
|
||||
// on the same tree. Restarting per class costs 5 JVM startups and no extra peak memory.
|
||||
forkEvery = 1L
|
||||
// Record all the languages?
|
||||
if (project.hasProperty("allLanguagesNoEnglish")) {
|
||||
// Do not record English language
|
||||
|
||||
Reference in New Issue
Block a user