Run docker requiring tests only when available
Change-Id: I016feeeffb9ee72d51ce4c3f7974b52efc5e1fb6
diff --git a/app/src/test/kotlin/de/ids_mannheim/korapxmltools/FoundryOverrideTest.kt b/app/src/test/kotlin/de/ids_mannheim/korapxmltools/FoundryOverrideTest.kt
index 65efc10..fa882ce 100644
--- a/app/src/test/kotlin/de/ids_mannheim/korapxmltools/FoundryOverrideTest.kt
+++ b/app/src/test/kotlin/de/ids_mannheim/korapxmltools/FoundryOverrideTest.kt
@@ -36,11 +36,24 @@
return resource
}
+ private fun isDockerAvailable(): Boolean {
+ return try {
+ val process = ProcessBuilder("docker", "--version")
+ .redirectErrorStream(true)
+ .start()
+ process.waitFor()
+ process.exitValue() == 0
+ } catch (e: Exception) {
+ false
+ }
+ }
+
@Test
fun testFoundryOverrideWithTagger() {
val isRunningInDocker = File("/.dockerenv").exists() ||
(File("/proc/1/cgroup").exists() && File("/proc/1/cgroup").readText().contains("docker"))
org.junit.Assume.assumeFalse("Skipping Docker test inside Docker container", isRunningInDocker)
+ org.junit.Assume.assumeTrue("Docker is not available", isDockerAvailable())
val outputDir = File.createTempFile("foundry_override_test", "").apply {
delete()