[PL] ABI compatibility tests for reworked partial linkage

This commit is contained in:
Dmitriy Dolovov
2023-03-22 13:59:33 +01:00
committed by Space Team
parent 2a4d880037
commit 4f1155b06f
262 changed files with 4278 additions and 1359 deletions
+21
View File
@@ -0,0 +1,21 @@
import abitestutils.abiTest
fun box() = abiTest {
expectFailure(linkage("Function 'removedFunction' can not be called: No function found for symbol '/removedFunction'")) { callRemovedOrNormalFunction(removed = true) }
expectSuccess { callRemovedOrNormalFunction(removed = false) }
expectFailure(linkage("Function 'removedFunction' can not be called: No function found for symbol '/A.removedFunction'")) { callRemovedOrNormalFunctionOnObject(removed = true) }
expectSuccess { callRemovedOrNormalFunctionOnObject(removed = false) }
expectFailure(linkage("Property accessor 'removedProperty.<get-removedProperty>' can not be called: No property accessor found for symbol '/removedProperty.<get-removedProperty>'")) { readRemovedOrNormalProperty(removed = true) }
expectSuccess { readRemovedOrNormalProperty(removed = false) }
expectFailure(linkage("Property accessor 'removedProperty1.<get-removedProperty1>' can not be called: No property accessor found for symbol '/A.removedProperty1.<get-removedProperty1>'")) { readRemovedOrNormalPropertyOnObject1(removed = true) }
expectSuccess { readRemovedOrNormalPropertyOnObject1(removed = false) }
expectFailure(linkage("Property accessor 'removedProperty2.<get-removedProperty2>' can not be called: No property accessor found for symbol '/A.removedProperty2.<get-removedProperty2>'")) { readRemovedOrNormalPropertyOnObject2(removed = true) }
expectSuccess { readRemovedOrNormalPropertyOnObject2(removed = false) }
expectFailure(linkage("Function 'removedFunction' can not be called: No function found for symbol '/removedFunction'")) { callInlinedRemovedFunction() }
expectFailure(linkage("Property accessor 'removedProperty.<get-removedProperty>' can not be called: No property accessor found for symbol '/removedProperty.<get-removedProperty>'")) { readInlinedRemovedProperty() }
expectSuccess { C2().removedOpenFunction() + I2().removedOpenFunction() }
expectSuccess { C2().removedOpenProperty + I2().removedOpenProperty }
}
@@ -0,0 +1,2 @@
STEP 0:
dependencies: stdlib, lib1, lib2