square / okio

A modern I/O library for Android, Java, and Kotlin Multiplatform.
https://square.github.io/okio/
Apache License 2.0
8.81k stars 1.18k forks source link

Adopt Burst for parameterized tests #1534

Closed swankjesse closed 1 month ago

swankjesse commented 1 month ago

It supports Kotlin/Multiplatform.

https://github.com/cashapp/burst

swankjesse commented 1 month ago

Looks good.

Screenshot 2024-10-16 at 9 35 02 AM
swankjesse commented 1 month ago

Hmmm, unexpected build failure:

> Task :okio:compileCommonMainKotlinMetadata FAILED
e: file:///Volumes/Development/okio/okio/src/commonMain/kotlin/okio/Buffer.kt:31:8 Class 'Buffer' is not abstract and does not implement abstract member 'timeout'.
e: file:///Volumes/Development/okio/okio/src/commonMain/kotlin/okio/HashingSink.kt:35:8 Class 'HashingSink' is not abstract and does not implement abstract member 'write'.
e: file:///Volumes/Development/okio/okio/src/commonMain/kotlin/okio/HashingSource.kt:36:8 Class 'HashingSource' is not abstract and does not implement abstract member 'read'.
e: file:///Volumes/Development/okio/okio/src/commonMain/kotlin/okio/RealBufferedSink.kt:19:17 Class 'RealBufferedSink' is not abstract and does not implement abstract member 'buffer'.
e: file:///Volumes/Development/okio/okio/src/commonMain/kotlin/okio/RealBufferedSource.kt:19:17 Class 'RealBufferedSource' is not abstract and does not implement abstract member 'buffer'.
JakeWharton commented 1 month ago

You have to go through the Kotlin 2 migration. K2 forces expect types to redeclare members inherited from interfaces, which is what looks like that error is indicating.

swankjesse commented 1 month ago

Ooooh Kotlin 2. Checks out. https://github.com/square/okio/pull/1535