Skip to content

Commit 3d59b39

Browse files
#430: Add BeforeAll buildTestBinary
1 parent e638490 commit 3d59b39

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

core/jvm/test/testcontainers/TimeZoneTest.kt

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
package testcontainers
77

8+
import org.junit.jupiter.api.BeforeAll
89
import org.testcontainers.junit.jupiter.Container
910
import org.testcontainers.junit.jupiter.Testcontainers
1011
import org.junit.jupiter.params.ParameterizedTest
@@ -14,8 +15,6 @@ import org.slf4j.LoggerFactory
1415
@Testcontainers
1516
class TimeZoneTest {
1617

17-
private val logger = LoggerFactory.getLogger(javaClass)
18-
1918
@ParameterizedTest
2019
@MethodSource("containers")
2120
fun test(container: TimezoneTestContainer) {
@@ -27,6 +26,8 @@ class TimeZoneTest {
2726
}
2827

2928
companion object {
29+
private val logger = LoggerFactory.getLogger(javaClass)
30+
3031
@JvmStatic
3132
@Container
3233
val originalContainer = createTimezoneTestContainer("original")
@@ -39,5 +40,29 @@ class TimeZoneTest {
3940
fun containers(): List<TimezoneTestContainer> {
4041
return listOf(originalContainer, modifiedContainer)
4142
}
43+
44+
@JvmStatic
45+
@BeforeAll
46+
fun buildTestBinary() {
47+
logger.info("Building test binary...")
48+
49+
val process = ProcessBuilder()
50+
.command("../gradlew", "linkDebugTestLinuxArm64")
51+
.redirectErrorStream(true)
52+
.start()
53+
54+
process.inputStream.bufferedReader().use { reader ->
55+
reader.lines().forEach { line ->
56+
logger.info("Build: {}", line)
57+
}
58+
}
59+
60+
val exitCode = process.waitFor()
61+
if (exitCode != 0) {
62+
throw IllegalStateException("Failed to build test binary: exit code $exitCode")
63+
}
64+
65+
logger.info("Test binary built successfully")
66+
}
4267
}
4368
}

0 commit comments

Comments
 (0)