[PL][tests] Keep PL test data under "testData/klib/" dir

This commit is contained in:
Dmitriy Dolovov
2023-08-15 14:38:02 +02:00
committed by Space Team
parent 9e3afe7a1f
commit 5c3e63e19a
186 changed files with 156 additions and 156 deletions
@@ -0,0 +1,25 @@
package lib1
interface I {
}
interface J {
}
interface Default {
fun foo(): String = "Default v1"
val bar: String get() = "Default v1"
}
interface RemovedDefault {
fun foo(): String = "RemovedDefault v1"
val bar: String get() = "RemovedDefault v1"
}
open class Unrelated
abstract class AbstractUnrelated
open class WithFakeOverride : I
open class WithRealOverride : I
@@ -0,0 +1,38 @@
package lib1
interface I {
fun foo(): String = "I v2"
val bar: String get() = "I v2"
}
interface J {
fun foo(): String = "J v2"
val bar: String get() = "J v2"
}
interface Default {
fun foo(): String = "Default v2"
val bar: String get() = "Default v2"
}
interface RemovedDefault {
fun foo(): String
val bar: String
}
open class Unrelated {
fun foo(): String = "Unrelated v2"
val bar: String = "Unrelated v2"
}
abstract class AbstractUnrelated {
abstract fun foo(): String
abstract val bar: String
}
open class WithFakeOverride : I
open class WithRealOverride : I {
override fun foo() = "WithRealOverride v2"
override val bar = "WithRealOverride v2"
}
@@ -0,0 +1,8 @@
STEP 0:
dependencies: stdlib
modifications:
U : l1.kt.0 -> l1.kt
STEP 1:
dependencies: stdlib
modifications:
U : l1.kt.1 -> l1.kt
@@ -0,0 +1,50 @@
package lib2
import lib1.*
class I_Default : I, Default
class Default_I : Default, I
class I_RemovedDefault : I, RemovedDefault
class RemovedDefault_I : RemovedDefault, I
class I_J_Default : I, J, Default
class Default_J_I : Default, I, J
class I_J_RemovedDefault : I, J, RemovedDefault
class RemovedDefault_J_I : RemovedDefault, I, J
class Unrelated_I_Default : Unrelated(), I, Default
class Unrelated_Default_I : Unrelated(), Default, I
class Unrelated_I_RemovedDefault : Unrelated(), I, RemovedDefault
class Unrelated_RemovedDefault_I : Unrelated(), RemovedDefault, I
class Unrelated_I_J_Default : Unrelated(), I, J, Default
class Unrelated_Default_J_I : Unrelated(), Default, I, J
class Unrelated_I_J_RemovedDefault : Unrelated(), I, J, RemovedDefault
class Unrelated_RemovedDefault_J_I : Unrelated(), RemovedDefault, I, J
class AbstractUnrelated_I_Default : AbstractUnrelated(), I, Default
class AbstractUnrelated_Default_I : AbstractUnrelated(), Default, I
class AbstractUnrelated_I_RemovedDefault : AbstractUnrelated(), I, RemovedDefault
class AbstractUnrelated_RemovedDefault_I : AbstractUnrelated(), RemovedDefault, I
class AbstractUnrelated_I_J_Default : AbstractUnrelated(), I, J, Default
class AbstractUnrelated_Default_J_I : AbstractUnrelated(), Default, I, J
class AbstractUnrelated_I_J_RemovedDefault : AbstractUnrelated(), I, J, RemovedDefault
class AbstractUnrelated_RemovedDefault_J_I : AbstractUnrelated(), RemovedDefault, I, J
class WithFakeOverride_I_Default : WithFakeOverride(), I, Default
class WithFakeOverride_Default_I : WithFakeOverride(), Default, I
class WithFakeOverride_I_RemovedDefault : WithFakeOverride(), I, RemovedDefault
class WithFakeOverride_RemovedDefault_I : WithFakeOverride(), RemovedDefault, I
class WithFakeOverride_I_J_Default : WithFakeOverride(), I, J, Default
class WithFakeOverride_Default_J_I : WithFakeOverride(), Default, I, J
class WithFakeOverride_I_J_RemovedDefault : WithFakeOverride(), I, J, RemovedDefault
class WithFakeOverride_RemovedDefault_J_I : WithFakeOverride(), RemovedDefault, I, J
class WithRealOverride_I_Default : WithRealOverride(), I, Default
class WithRealOverride_Default_I : WithRealOverride(), Default, I
class WithRealOverride_I_RemovedDefault : WithRealOverride(), I, RemovedDefault
class WithRealOverride_RemovedDefault_I : WithRealOverride(), RemovedDefault, I
class WithRealOverride_I_J_Default : WithRealOverride(), I, J, Default
class WithRealOverride_Default_J_I : WithRealOverride(), Default, I, J
class WithRealOverride_I_J_RemovedDefault : WithRealOverride(), I, J, RemovedDefault
class WithRealOverride_RemovedDefault_J_I : WithRealOverride(), RemovedDefault, I, J
@@ -0,0 +1,2 @@
STEP 0:
dependencies: stdlib, lib1
@@ -0,0 +1,137 @@
import abitestutils.*
import lib1.*
import lib2.*
private fun TestBuilder.fe(className: String) = linkage("Function 'foo' in class '${className}' inherits more than one default implementation")
private fun TestBuilder.pe(className: String) = linkage("Property accessor 'bar.<get-bar>' in class '${className}' inherits more than one default implementation")
fun box() = abiTest {
// For now it's not working with caches, because of incorrect lazy-IR usage.
// Check KT-54019 for details.
if (!testMode.lazyIr.usedEverywhere) {
expectSuccess("OK") { "OK" }
return@abiTest
}
val instance_I_Default = I_Default()
val instance_Default_I = Default_I()
val instance_I_RemovedDefault = I_RemovedDefault()
val instance_RemovedDefault_I = RemovedDefault_I()
val instance_I_J_Default = I_J_Default()
val instance_Default_J_I = Default_J_I()
val instance_I_J_RemovedDefault = I_J_RemovedDefault()
val instance_RemovedDefault_J_I = RemovedDefault_J_I()
val instance_Unrelated_I_Default = Unrelated_I_Default()
val instance_Unrelated_Default_I = Unrelated_Default_I()
val instance_Unrelated_I_RemovedDefault = Unrelated_I_RemovedDefault()
val instance_Unrelated_RemovedDefault_I = Unrelated_RemovedDefault_I()
val instance_Unrelated_I_J_Default = Unrelated_I_J_Default()
val instance_Unrelated_Default_J_I = Unrelated_Default_J_I()
val instance_Unrelated_I_J_RemovedDefault = Unrelated_I_J_RemovedDefault()
val instance_Unrelated_RemovedDefault_J_I = Unrelated_RemovedDefault_J_I()
val instance_AbstractUnrelated_I_Default = AbstractUnrelated_I_Default()
val instance_AbstractUnrelated_Default_I = AbstractUnrelated_Default_I()
val instance_AbstractUnrelated_I_RemovedDefault = AbstractUnrelated_I_RemovedDefault()
val instance_AbstractUnrelated_RemovedDefault_I = AbstractUnrelated_RemovedDefault_I()
val instance_AbstractUnrelated_I_J_Default = AbstractUnrelated_I_J_Default()
val instance_AbstractUnrelated_Default_J_I = AbstractUnrelated_Default_J_I()
val instance_AbstractUnrelated_I_J_RemovedDefault = AbstractUnrelated_I_J_RemovedDefault()
val instance_AbstractUnrelated_RemovedDefault_J_I = AbstractUnrelated_RemovedDefault_J_I()
val instance_WithFakeOverride_I_Default = WithFakeOverride_I_Default()
val instance_WithFakeOverride_Default_I = WithFakeOverride_Default_I()
val instance_WithFakeOverride_I_RemovedDefault = WithFakeOverride_I_RemovedDefault()
val instance_WithFakeOverride_RemovedDefault_I = WithFakeOverride_RemovedDefault_I()
val instance_WithFakeOverride_I_J_Default = WithFakeOverride_I_J_Default()
val instance_WithFakeOverride_Default_J_I = WithFakeOverride_Default_J_I()
val instance_WithFakeOverride_I_J_RemovedDefault = WithFakeOverride_I_J_RemovedDefault()
val instance_WithFakeOverride_RemovedDefault_J_I = WithFakeOverride_RemovedDefault_J_I()
val instance_WithRealOverride_I_Default = WithRealOverride_I_Default()
val instance_WithRealOverride_Default_I = WithRealOverride_Default_I()
val instance_WithRealOverride_I_RemovedDefault = WithRealOverride_I_RemovedDefault()
val instance_WithRealOverride_RemovedDefault_I = WithRealOverride_RemovedDefault_I()
val instance_WithRealOverride_I_J_Default = WithRealOverride_I_J_Default()
val instance_WithRealOverride_Default_J_I = WithRealOverride_Default_J_I()
val instance_WithRealOverride_I_J_RemovedDefault = WithRealOverride_I_J_RemovedDefault()
val instance_WithRealOverride_RemovedDefault_J_I = WithRealOverride_RemovedDefault_J_I()
expectFailure(fe("I_Default")) { instance_I_Default.foo() }
expectFailure(fe("Default_I")) { instance_Default_I.foo() }
expectSuccess("I v2") { instance_I_RemovedDefault.foo() }
expectSuccess("I v2") { instance_RemovedDefault_I.foo() }
expectFailure(fe("I_J_Default")) { instance_I_J_Default.foo() }
expectFailure(fe("Default_J_I")) { instance_Default_J_I.foo() }
expectFailure(fe("I_J_RemovedDefault")) { instance_I_J_RemovedDefault.foo() }
expectFailure(fe("RemovedDefault_J_I")) { instance_RemovedDefault_J_I.foo() }
expectSuccess("Unrelated v2") { instance_Unrelated_I_Default.foo() }
expectSuccess("Unrelated v2") { instance_Unrelated_Default_I.foo() }
expectSuccess("Unrelated v2") { instance_Unrelated_I_RemovedDefault.foo() }
expectSuccess("Unrelated v2") { instance_Unrelated_RemovedDefault_I.foo() }
expectSuccess("Unrelated v2") { instance_Unrelated_I_J_Default.foo() }
expectSuccess("Unrelated v2") { instance_Unrelated_Default_J_I.foo() }
expectSuccess("Unrelated v2") { instance_Unrelated_I_J_RemovedDefault.foo() }
expectSuccess("Unrelated v2") { instance_Unrelated_RemovedDefault_J_I.foo() }
expectFailure(fe("AbstractUnrelated_I_Default")) { instance_AbstractUnrelated_I_Default.foo() }
expectFailure(fe("AbstractUnrelated_Default_I")) { instance_AbstractUnrelated_Default_I.foo() }
expectSuccess("I v2") { instance_AbstractUnrelated_I_RemovedDefault.foo() }
expectSuccess("I v2") { instance_AbstractUnrelated_RemovedDefault_I.foo() }
expectFailure(fe("AbstractUnrelated_I_J_Default")) { instance_AbstractUnrelated_I_J_Default.foo() }
expectFailure(fe("AbstractUnrelated_Default_J_I")) { instance_AbstractUnrelated_Default_J_I.foo() }
expectFailure(fe("AbstractUnrelated_I_J_RemovedDefault")) { instance_AbstractUnrelated_I_J_RemovedDefault.foo() }
expectFailure(fe("AbstractUnrelated_RemovedDefault_J_I")) { instance_AbstractUnrelated_RemovedDefault_J_I.foo() }
expectFailure(fe("WithFakeOverride_I_Default")) { instance_WithFakeOverride_I_Default.foo() }
expectFailure(fe("WithFakeOverride_Default_I")) { instance_WithFakeOverride_Default_I.foo() }
expectSuccess("I v2") { instance_WithFakeOverride_I_RemovedDefault.foo() }
expectSuccess("I v2") { instance_WithFakeOverride_RemovedDefault_I.foo() }
expectFailure(fe("WithFakeOverride_I_J_Default")) { instance_WithFakeOverride_I_J_Default.foo() }
expectFailure(fe("WithFakeOverride_Default_J_I")) { instance_WithFakeOverride_Default_J_I.foo() }
expectFailure(fe("WithFakeOverride_I_J_RemovedDefault")) { instance_WithFakeOverride_I_J_RemovedDefault.foo() }
expectFailure(fe("WithFakeOverride_RemovedDefault_J_I")) { instance_WithFakeOverride_RemovedDefault_J_I.foo() }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_I_Default.foo() }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_Default_I.foo() }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_I_RemovedDefault.foo() }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_RemovedDefault_I.foo() }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_I_J_Default.foo() }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_Default_J_I.foo() }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_I_J_RemovedDefault.foo() }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_RemovedDefault_J_I.foo() }
expectFailure(pe("I_Default")) { instance_I_Default.bar }
expectFailure(pe("Default_I")) { instance_Default_I.bar }
expectSuccess("I v2") { instance_I_RemovedDefault.bar }
expectSuccess("I v2") { instance_RemovedDefault_I.bar }
expectFailure(pe("I_J_Default")) { instance_I_J_Default.bar }
expectFailure(pe("Default_J_I")) { instance_Default_J_I.bar }
expectFailure(pe("I_J_RemovedDefault")) { instance_I_J_RemovedDefault.bar }
expectFailure(pe("RemovedDefault_J_I")) { instance_RemovedDefault_J_I.bar }
expectSuccess("Unrelated v2") { instance_Unrelated_I_Default.bar }
expectSuccess("Unrelated v2") { instance_Unrelated_Default_I.bar }
expectSuccess("Unrelated v2") { instance_Unrelated_I_RemovedDefault.bar }
expectSuccess("Unrelated v2") { instance_Unrelated_RemovedDefault_I.bar }
expectSuccess("Unrelated v2") { instance_Unrelated_I_J_Default.bar }
expectSuccess("Unrelated v2") { instance_Unrelated_Default_J_I.bar }
expectSuccess("Unrelated v2") { instance_Unrelated_I_J_RemovedDefault.bar }
expectSuccess("Unrelated v2") { instance_Unrelated_RemovedDefault_J_I.bar }
expectFailure(pe("AbstractUnrelated_I_Default")) { instance_AbstractUnrelated_I_Default.bar }
expectFailure(pe("AbstractUnrelated_Default_I")) { instance_AbstractUnrelated_Default_I.bar }
expectSuccess("I v2") { instance_AbstractUnrelated_I_RemovedDefault.bar }
expectSuccess("I v2") { instance_AbstractUnrelated_RemovedDefault_I.bar }
expectFailure(pe("AbstractUnrelated_I_J_Default")) { instance_AbstractUnrelated_I_J_Default.bar }
expectFailure(pe("AbstractUnrelated_Default_J_I")) { instance_AbstractUnrelated_Default_J_I.bar }
expectFailure(pe("AbstractUnrelated_I_J_RemovedDefault")) { instance_AbstractUnrelated_I_J_RemovedDefault.bar }
expectFailure(pe("AbstractUnrelated_RemovedDefault_J_I")) { instance_AbstractUnrelated_RemovedDefault_J_I.bar }
expectFailure(pe("WithFakeOverride_I_Default")) { instance_WithFakeOverride_I_Default.bar }
expectFailure(pe("WithFakeOverride_Default_I")) { instance_WithFakeOverride_Default_I.bar }
expectSuccess("I v2") { instance_WithFakeOverride_I_RemovedDefault.bar }
expectSuccess("I v2") { instance_WithFakeOverride_RemovedDefault_I.bar }
expectFailure(pe("WithFakeOverride_I_J_Default")) { instance_WithFakeOverride_I_J_Default.bar }
expectFailure(pe("WithFakeOverride_Default_J_I")) { instance_WithFakeOverride_Default_J_I.bar }
expectFailure(pe("WithFakeOverride_I_J_RemovedDefault")) { instance_WithFakeOverride_I_J_RemovedDefault.bar }
expectFailure(pe("WithFakeOverride_RemovedDefault_J_I")) { instance_WithFakeOverride_RemovedDefault_J_I.bar }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_I_Default.bar }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_Default_I.bar }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_I_RemovedDefault.bar }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_RemovedDefault_I.bar }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_I_J_Default.bar }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_Default_J_I.bar }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_I_J_RemovedDefault.bar }
expectSuccess("WithRealOverride v2") { instance_WithRealOverride_RemovedDefault_J_I.bar }
}
@@ -0,0 +1,2 @@
STEP 0:
dependencies: stdlib, lib1, lib2
@@ -0,0 +1,7 @@
MODULES: lib1, lib2, main
STEP 0:
libs: lib1, lib2, main
STEP 1:
libs: lib1