7c16528560
Fixed #KT-58088
21 lines
1.4 KiB
Kotlin
Vendored
21 lines
1.4 KiB
Kotlin
Vendored
import abitestutils.abiTest
|
|
import abitestutils.TestBuilder
|
|
|
|
fun box() = abiTest {
|
|
val rcifaec = RegularClassInheritedFromAbstractExternalClass()
|
|
val rcifeiifoec = RegularClassInheritedFromExternalInterfaceInheritedFromOpenExternalClass()
|
|
|
|
expectSuccess("RegularClassInheritedFromAbstractExternalClass.abstractFunction") { rcifaec.abstractFunction() }
|
|
expectSuccess("RegularClassInheritedFromAbstractExternalClass.removedAbstractFunction") { rcifaec.removedAbstractFunction() }
|
|
expectFailure(nonImplementedCallable("function 'addedAbstractFunction'", "class 'RegularClassInheritedFromAbstractExternalClass'")) { rcifaec.addedAbstractFunction() }
|
|
expectSuccess("AbstractExternalClass.function") { rcifaec.function() }
|
|
expectFailure(linkage("Function 'removedFunction' can not be called: No function found for symbol '/RegularClassInheritedFromAbstractExternalClass.removedFunction'")) { rcifaec.callRemovedFunction() }
|
|
expectSuccess("AbstractExternalClass.addedFunction") { rcifaec.addedFunction() }
|
|
|
|
expectSuccess("OpenExternalClass.function") { rcifeiifoec.function() }
|
|
expectSuccess("RegularClassInheritedFromExternalInterfaceInheritedFromOpenExternalClass.abstractFunction") { rcifeiifoec.abstractFunction() }
|
|
}
|
|
|
|
private fun TestBuilder.expectRuntimeFailure(errorMessage: String, block: () -> Any) =
|
|
expectFailure(custom { throwable -> throwable !is Exception && throwable.message == errorMessage }) { block() }
|