Tests: move some tests to diagnostics

This commit is contained in:
Alexander Udalov
2023-08-02 12:19:33 +02:00
committed by Space Team
parent b3b9ffaea9
commit bad7fa597b
15 changed files with 112 additions and 91 deletions
@@ -1,3 +0,0 @@
public interface JavaInterface {
void foo(int javaName);
}
@@ -1,18 +0,0 @@
// Simple inheritance. Checks that there's no PARAMETER_NAME_CHANGED_ON_OVERRIDE warning
class SimpleSubclass : JavaInterface {
override fun foo(kotlinName: Int) {}
}
// Class extends both Java and Kotlin traits. Checks that there's no DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES warning
interface KotlinTrait {
public fun foo(someOtherName: Int) {}
}
class BothTraitsSubclass : JavaInterface, KotlinTrait {
override fun foo(someOtherName: Int) {
super.foo(someOtherName)
}
}
@@ -1,17 +0,0 @@
val lock = Any()
inline fun inlineMe(c: () -> Unit) {
synchronized(lock) {
c()
}
}
inline fun monitorInFinally(a: () -> Unit, b: () -> Unit) {
try {
a()
} finally {
synchronized(lock) {
b()
}
}
}
@@ -1,13 +0,0 @@
compiler/testData/compileKotlinAgainstCustomBinaries/suspensionPointInMonitor/source.kt:8:13: error: a suspension point at SourceKt$test$1.invokeSuspend(source.kt:10) is inside a critical section
builder {
^
compiler/testData/compileKotlinAgainstCustomBinaries/suspensionPointInMonitor/source.kt:14:13: error: a suspension point at SourceKt$test$2.invokeSuspend(source.kt:17) is inside a critical section
builder {
^
compiler/testData/compileKotlinAgainstCustomBinaries/suspensionPointInMonitor/source.kt:49:1: error: a suspension point at SourceKt$test$3$invokeSuspend$$inlined$withCrossinline$2.invokeSuspend(source.kt:60) is inside a critical section
inline fun withCrossinline(crossinline a: suspend () -> Unit): suspend () -> Unit {
^
compiler/testData/compileKotlinAgainstCustomBinaries/suspensionPointInMonitor/source.kt:50:34: error: a suspension point at SourceKt$withCrossinline$c$1.invokeSuspend(source.kt:52) is inside a critical section
val c : suspend () -> Unit = {
^
COMPILATION_ERROR
@@ -0,0 +1,28 @@
// FIR_IDENTICAL
// MODULE: lib
// FILE: JavaInterface.java
public interface JavaInterface {
void foo(int javaName);
}
// MODULE: main(lib)
// FILE: test.kt
// Simple inheritance. Checks that there's no PARAMETER_NAME_CHANGED_ON_OVERRIDE warning
class SimpleSubclass : JavaInterface {
override fun foo(kotlinName: Int) {}
}
// Class extends both Java and Kotlin interfaces. Checks that there's no DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES warning
interface KotlinInterface {
public fun foo(someOtherName: Int) {}
}
class BothTraitsSubclass : JavaInterface, KotlinInterface {
override fun foo(someOtherName: Int) {
super.foo(someOtherName)
}
}
@@ -1,3 +1,31 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// FIR_IDENTICAL
// WITH_STDLIB
// MODULE: lib
// FILE: lib.kt
val lock = Any()
inline fun inlineMe(c: () -> Unit) {
synchronized(lock) {
c()
}
}
inline fun monitorInFinally(a: () -> Unit, b: () -> Unit) {
try {
a()
} finally {
synchronized(lock) {
b()
}
}
}
// MODULE: main(lib)
// FILE: main.kt
fun builder(c: suspend () -> Unit) {}
private val lock = Any()
@@ -5,18 +33,18 @@ private val lock = Any()
suspend fun suspensionPoint() {}
fun test() {
builder {
builder <!SUSPENSION_POINT_INSIDE_MONITOR!>{
inlineMe {
suspensionPoint()
}
}
}<!>
builder {
builder <!SUSPENSION_POINT_INSIDE_MONITOR!>{
monitorInFinally(
{},
{ suspensionPoint() }
)
}
}<!>
builder {
withCrossinline {}
@@ -46,11 +74,11 @@ interface SuspendRunnable {
}
inline fun withCrossinline(crossinline a: suspend () -> Unit): suspend () -> Unit {
val c : suspend () -> Unit = {
<!SUSPENSION_POINT_INSIDE_MONITOR!>inline fun withCrossinline(crossinline a: suspend () -> Unit): suspend () -> Unit {
val c : suspend () -> Unit = <!SUSPENSION_POINT_INSIDE_MONITOR!>{
inlineMe {
a()
}
}
}<!>
return c
}
}<!>