dependencies {
    testImplementation testLibs.junit.jupiter.api
    testImplementation testLibs.junit.jupiter.params
    testImplementation testLibs.hamcrest
    testRuntimeOnly testLibs.junit.jupiter.engine
    testRuntimeOnly testLibs.junit.jupiter.platform.launcher
}

test {
    useJUnitPlatform()
    failFast = false
    environment 'TMPDIR', '/var/tmp/gs'
    file('/var/tmp/gs').mkdirs()
    systemProperty 'java.awt.headless', 'true'
    systemProperty 'java.io.tmpdir', '/var/tmp/'
    systemProperty 'pdfbox.fontcache', '/var/tmp/pdfbox'
    systemProperty 'jna.tmpdir', '/var/tmp/'
    systemProperty 'jna.debug', 'true'
    systemProperty 'java.util.logging.config.file', 'src/test/resources/logging.properties'
    testLogging {
        events 'STARTED', 'PASSED', 'FAILED', 'SKIPPED'
        showStandardStreams = true
    }
    afterSuite { desc, result ->
        if (!desc.parent) {
            println "\nTest result: ${result.resultType}"
            println "Test summary: ${result.testCount} tests, " +
                    "${result.successfulTestCount} succeeded, " +
                    "${result.failedTestCount} failed, " +
                    "${result.skippedTestCount} skipped"
        }
    }
}