Skip to content

Commit 916703b

Browse files
#430: Add pwd
1 parent 2964b49 commit 916703b

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

core/linux/test/TimeZoneNativeTest.kt

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,42 @@
55

66
package kotlinx.datetime.test
77

8+
import kotlinx.cinterop.ByteVar
9+
import kotlinx.cinterop.ExperimentalForeignApi
10+
import kotlinx.cinterop.UnsafeNumber
11+
import kotlinx.cinterop.allocArray
12+
import kotlinx.cinterop.convert
13+
import kotlinx.cinterop.memScoped
14+
import kotlinx.cinterop.toKString
815
import kotlinx.datetime.TimeZone
916
import kotlinx.datetime.internal.root
1017
import kotlin.test.Test
1118
import kotlin.test.assertEquals
19+
import platform.posix.*
1220

1321
class TimeZoneNativeTest {
1422

23+
@OptIn(ExperimentalForeignApi::class, UnsafeNumber::class)
24+
private fun pwd(): String {
25+
val PATH_MAX = 4096
26+
return memScoped {
27+
val buffer = allocArray<ByteVar>(PATH_MAX)
28+
if (getcwd(buffer, PATH_MAX.convert()) != null) {
29+
buffer.toKString()
30+
} else {
31+
throw Exception("Failed to get current directory: ${strerror(errno)?.toKString()}")
32+
}
33+
}
34+
}
35+
1536
@Test
1637
fun correctSymlinkTest() {
1738
root = "./core/linux/test/time-zone-native-test-resources/correct-symlink/"
1839

40+
println("PWD: ${pwd()}")
41+
1942
val tz = TimeZone.currentSystemDefault()
20-
assertEquals(TimeZone.of("Europe/Oslo"), tz)
43+
assertEquals(TimeZone.of("Europe/Oslo"), tz, "PWD: ${pwd()}")
2144
}
2245

2346
@Test

0 commit comments

Comments
 (0)