Unit Testing Build freezes/hangs up without specific reason

(Artur Schwarz) #1

Hi there!

We are currently experiencing freezes when running Unit Tests via Console using the gradlew test task. The process stops at an unspecific test and just freezes without any output. When changing/commiting code the test at which the process is stopped changes. We are currently using Gradle 3.4.1 and Robolectric 3.1.

This is the “testung” part of our build.gradle:

tasks.withType(Test) {
    maxParallelForks = Runtime.runtime.availableProcessors()
    testLogging {
        events 'skipped', 'failed'
        exceptionFormat 'full'
        afterSuite { desc, result ->
            if (!desc.parent) { // will match the outermost suite
                println "Results: ${result.resultType} (${result.testCount} tests, ${result.successfulTestCount} successes, ${result.failedTestCount} failures, ${result.skippedTestCount} skipped)"
    maxHeapSize '6144m'
    // Forked processes like GradleWorkerMain for tests won't steal focus!
    jvmArgs '-Djava.awt.headless=true'

This is our gradle-wrapper.properties file:


This is what our global gradle.properties file says:


(Benjamin Muschko) #2

You might have some tests in place that cause a deadlock (one waiting on the other one) when run in parallel. I’d try to figure out if you see a pattern for specific tests. Does the test task always get stuck or just sometimes?

(Artur Schwarz) #3

We have investigated our tests to this extent, but we couldnt find any possible causes for a dead lock. The test task gets stuck always.

(Benjamin Muschko) #4

Did you figure out which test might be responsible for hanging? You could use testing logging to write each of the tests to a file to determine which one was started last. I’d also try to run the tests without maxParallelForks to see if that’s happening as well.