5
5
6
6
package testcontainers
7
7
8
+ import org.junit.jupiter.api.BeforeAll
8
9
import org.testcontainers.junit.jupiter.Container
9
10
import org.testcontainers.junit.jupiter.Testcontainers
10
11
import org.junit.jupiter.params.ParameterizedTest
@@ -14,8 +15,6 @@ import org.slf4j.LoggerFactory
14
15
@Testcontainers
15
16
class TimeZoneTest {
16
17
17
- private val logger = LoggerFactory .getLogger(javaClass)
18
-
19
18
@ParameterizedTest
20
19
@MethodSource(" containers" )
21
20
fun test (container : TimezoneTestContainer ) {
@@ -27,6 +26,8 @@ class TimeZoneTest {
27
26
}
28
27
29
28
companion object {
29
+ private val logger = LoggerFactory .getLogger(javaClass)
30
+
30
31
@JvmStatic
31
32
@Container
32
33
val originalContainer = createTimezoneTestContainer(" original" )
@@ -39,5 +40,29 @@ class TimeZoneTest {
39
40
fun containers (): List <TimezoneTestContainer > {
40
41
return listOf (originalContainer, modifiedContainer)
41
42
}
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
+ }
42
67
}
43
68
}
0 commit comments