Test infra: refactor IGNORE_BACKEND directive

treat it as a general one, introduce *_K1 and *_K2 variants for
more specific ignoring
This commit is contained in:
Ilya Chernikov
2022-07-21 16:39:12 +02:00
parent 8f18ab19f7
commit 5b3816cce5
234 changed files with 432 additions and 426 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND_K2: JVM_IR
// FILE: test.kt
fun box(): String {
@@ -1,4 +1,4 @@
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND_K2: JVM_IR
// FILE: test.kt
class MyPair(val x: String, val y: String) {
@@ -1,5 +1,5 @@
// WITH_STDLIB
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND_K2: JVM_IR
// FILE: test.kt
fun box(): String {
@@ -1,5 +1,5 @@
// WITH_STDLIB
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND_K2: JVM_IR
// FILE: test.kt
fun box(): String {
@@ -1,5 +1,4 @@
// WITH_STDLIB
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: JVM_IR
// FILE: test.kt
fun box() {
@@ -21,14 +20,14 @@ fun box() {
}
// EXPECTATIONS JVM
// test.kt:6 box:
// test.kt:16 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:8 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:11 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:13 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:19 box: map:java.util.Map=java.util.Collections$SingletonMap, a:java.lang.String="1":java.lang.String, b:java.lang.String="23":java.lang.String
// test.kt:8 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:21 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:5 box:
// test.kt:15 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:7 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:10 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:12 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:18 box: map:java.util.Map=java.util.Collections$SingletonMap, a:java.lang.String="1":java.lang.String, b:java.lang.String="23":java.lang.String
// test.kt:7 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:20 box: map:java.util.Map=java.util.Collections$SingletonMap
// EXPECTATIONS JVM_IR
// test.kt:6 box:
@@ -40,13 +39,13 @@ fun box() {
// test.kt:21 box: map:java.util.Map=java.util.Collections$SingletonMap
// EXPECTATIONS JS_IR
// test.kt:6 box:
// test.kt:6 box:
// test.kt:16 box: map=kotlin.collections.HashMap
// test.kt:16 box: map=kotlin.collections.HashMap
// test.kt:16 box: map=kotlin.collections.HashMap
// test.kt:11 box: map=kotlin.collections.HashMap
// test.kt:13 box: map=kotlin.collections.HashMap, a="1":kotlin.String
// test.kt:19 box: map=kotlin.collections.HashMap, a="1":kotlin.String, b="23":kotlin.String
// test.kt:16 box: map=kotlin.collections.HashMap, a="1":kotlin.String, b="23":kotlin.String
// test.kt:21 box: map=kotlin.collections.HashMap, a="1":kotlin.String, b="23":kotlin.String
// test.kt:5 box:
// test.kt:5 box:
// test.kt:15 box: map=kotlin.collections.HashMap
// test.kt:15 box: map=kotlin.collections.HashMap
// test.kt:15 box: map=kotlin.collections.HashMap
// test.kt:10 box: map=kotlin.collections.HashMap
// test.kt:12 box: map=kotlin.collections.HashMap, a="1":kotlin.String
// test.kt:18 box: map=kotlin.collections.HashMap, a="1":kotlin.String, b="23":kotlin.String
// test.kt:15 box: map=kotlin.collections.HashMap, a="1":kotlin.String, b="23":kotlin.String
// test.kt:20 box: map=kotlin.collections.HashMap, a="1":kotlin.String, b="23":kotlin.String
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND_FIR: JVM_IR
// FILE: test.kt
data class A(val x: String, val y: Int)
@@ -10,14 +9,14 @@ fun box() {
}
// EXPECTATIONS JVM
// test.kt:8 box:
// test.kt:3 <init>: x:java.lang.String="O":java.lang.String, y:int=123:int
// test.kt:8 box:
// test.kt:5 foo: a:A=A, block:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:8 invoke: $dstr$x$y:A=A
// test.kt:5 foo: a:A=A, block:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:8 box:
// test.kt:9 box:
// test.kt:4 <init>: x:java.lang.String="O":java.lang.String, y:int=123:int
// test.kt:9 box:
// test.kt:6 foo: a:A=A, block:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:9 invoke: $dstr$x$y:A=A
// test.kt:6 foo: a:A=A, block:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:9 box:
// test.kt:10 box:
// EXPECTATIONS JVM_IR
// test.kt:9 box:
@@ -30,15 +29,15 @@ fun box() {
// test.kt:10 box:
// EXPECTATIONS JS_IR
// test.kt:9 box:
// test.kt:4 <init>: x="O":kotlin.String, y=123:number
// test.kt:4 <init>: x="O":kotlin.String, y=123:number
// test.kt:4 <init>: x="O":kotlin.String, y=123:number
// test.kt:9 box:
// test.kt:6 foo: a=A, block=Function1
// test.kt:9 box$lambda:
// test.kt:8 box:
// test.kt:3 <init>: x="O":kotlin.String, y=123:number
// test.kt:3 <init>: x="O":kotlin.String, y=123:number
// test.kt:3 <init>: x="O":kotlin.String, y=123:number
// test.kt:8 box:
// test.kt:5 foo: a=A, block=Function1
// test.kt:8 box$lambda:
// test.kt:1 component1:
// test.kt:9 box$lambda: x="O":kotlin.String
// test.kt:8 box$lambda: x="O":kotlin.String
// test.kt:1 component2:
// test.kt:9 box$lambda: x="O":kotlin.String, y=123:number
// test.kt:10 box:
// test.kt:8 box$lambda: x="O":kotlin.String, y=123:number
// test.kt:9 box:
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND_FIR: JVM_IR
// FILE: test.kt
class MyPair(val x: String, val y: String) {
operator fun component1(): String {
@@ -18,18 +17,18 @@ fun box() {
}
// EXPECTATIONS JVM
// test.kt:16 box:
// test.kt:3 <init>: x:java.lang.String="X":java.lang.String, y:java.lang.String="Y":java.lang.String
// test.kt:16 box:
// test.kt:13 foo: a:MyPair=MyPair, block:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:16 invoke: $dstr$x$y:MyPair=MyPair
// test.kt:5 component1:
// test.kt:16 invoke: $dstr$x$y:MyPair=MyPair
// test.kt:9 component2:
// test.kt:16 invoke: $dstr$x$y:MyPair=MyPair
// test.kt:13 foo: a:MyPair=MyPair, block:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:16 box:
// test.kt:17 box:
// test.kt:4 <init>: x:java.lang.String="X":java.lang.String, y:java.lang.String="Y":java.lang.String
// test.kt:17 box:
// test.kt:14 foo: a:MyPair=MyPair, block:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:17 invoke: $dstr$x$y:MyPair=MyPair
// test.kt:6 component1:
// test.kt:17 invoke: $dstr$x$y:MyPair=MyPair
// test.kt:10 component2:
// test.kt:17 invoke: $dstr$x$y:MyPair=MyPair
// test.kt:14 foo: a:MyPair=MyPair, block:kotlin.jvm.functions.Function1=TestKt$box$1
// test.kt:17 box:
// test.kt:18 box:
// EXPECTATIONS JVM_IR
// test.kt:17 box:
@@ -46,15 +45,15 @@ fun box() {
// test.kt:18 box:
// EXPECTATIONS JS_IR
// test.kt:17 box:
// test.kt:4 <init>: x="X":kotlin.String, y="Y":kotlin.String
// test.kt:4 <init>: x="X":kotlin.String, y="Y":kotlin.String
// test.kt:4 <init>: x="X":kotlin.String, y="Y":kotlin.String
// test.kt:17 box:
// test.kt:14 foo: a=MyPair, block=Function1
// test.kt:17 box$lambda:
// test.kt:6 component1:
// test.kt:17 box$lambda: x="O":kotlin.String
// test.kt:10 component2:
// test.kt:17 box$lambda: x="O":kotlin.String, y="K":kotlin.String
// test.kt:18 box:
// test.kt:16 box:
// test.kt:3 <init>: x="X":kotlin.String, y="Y":kotlin.String
// test.kt:3 <init>: x="X":kotlin.String, y="Y":kotlin.String
// test.kt:3 <init>: x="X":kotlin.String, y="Y":kotlin.String
// test.kt:16 box:
// test.kt:13 foo: a=MyPair, block=Function1
// test.kt:16 box$lambda:
// test.kt:5 component1:
// test.kt:16 box$lambda: x="O":kotlin.String
// test.kt:9 component2:
// test.kt:16 box$lambda: x="O":kotlin.String, y="K":kotlin.String
// test.kt:17 box:
@@ -1,4 +1,4 @@
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND_K2: JVM_IR
// FILE: test.kt
class MyPair(val x: String, val y: String) {
@@ -1,4 +1,4 @@
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND_K2: JVM_IR
// FILE: test.kt
data class A(val x: String, val y: Int)
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND_FIR: JVM_IR
// FILE: test.kt
data class A(val x: String, val y: Int)
@@ -10,16 +9,16 @@ fun box() {
}
// EXPECTATIONS JVM
// test.kt:8 box:
// test.kt:3 <init>: x:java.lang.String="O":java.lang.String, y:int=123:int
// test.kt:8 box:
// test.kt:3 <init>: x:java.lang.String="K":java.lang.String, y:int=877:int
// test.kt:8 box:
// test.kt:5 foo: a:A=A, b:A=A, block:kotlin.jvm.functions.Function2=TestKt$box$1
// test.kt:8 invoke: $dstr$x$y:A=A, $dstr$z$w:A=A
// test.kt:5 foo: a:A=A, b:A=A, block:kotlin.jvm.functions.Function2=TestKt$box$1
// test.kt:8 box:
// test.kt:9 box:
// test.kt:4 <init>: x:java.lang.String="O":java.lang.String, y:int=123:int
// test.kt:9 box:
// test.kt:4 <init>: x:java.lang.String="K":java.lang.String, y:int=877:int
// test.kt:9 box:
// test.kt:6 foo: a:A=A, b:A=A, block:kotlin.jvm.functions.Function2=TestKt$box$1
// test.kt:9 invoke: $dstr$x$y:A=A, $dstr$z$w:A=A
// test.kt:6 foo: a:A=A, b:A=A, block:kotlin.jvm.functions.Function2=TestKt$box$1
// test.kt:9 box:
// test.kt:10 box:
// EXPECTATIONS JVM_IR
// test.kt:9 box:
@@ -34,23 +33,23 @@ fun box() {
// test.kt:10 box:
// EXPECTATIONS JS_IR
// test.kt:9 box:
// test.kt:4 <init>: x="O":kotlin.String, y=123:number
// test.kt:4 <init>: x="O":kotlin.String, y=123:number
// test.kt:4 <init>: x="O":kotlin.String, y=123:number
// test.kt:9 box:
// test.kt:4 <init>: x="K":kotlin.String, y=877:number
// test.kt:4 <init>: x="K":kotlin.String, y=877:number
// test.kt:4 <init>: x="K":kotlin.String, y=877:number
// test.kt:9 box:
// test.kt:6 foo: a=A, b=A, block=Function2
// test.kt:9 box$lambda:
// test.kt:8 box:
// test.kt:3 <init>: x="O":kotlin.String, y=123:number
// test.kt:3 <init>: x="O":kotlin.String, y=123:number
// test.kt:3 <init>: x="O":kotlin.String, y=123:number
// test.kt:8 box:
// test.kt:3 <init>: x="K":kotlin.String, y=877:number
// test.kt:3 <init>: x="K":kotlin.String, y=877:number
// test.kt:3 <init>: x="K":kotlin.String, y=877:number
// test.kt:8 box:
// test.kt:5 foo: a=A, b=A, block=Function2
// test.kt:8 box$lambda:
// test.kt:1 component1:
// test.kt:9 box$lambda: x="O":kotlin.String
// test.kt:8 box$lambda: x="O":kotlin.String
// test.kt:1 component2:
// test.kt:9 box$lambda: x="O":kotlin.String, y=123:number
// test.kt:8 box$lambda: x="O":kotlin.String, y=123:number
// test.kt:1 component1:
// test.kt:9 box$lambda: x="O":kotlin.String, y=123:number, z="K":kotlin.String
// test.kt:8 box$lambda: x="O":kotlin.String, y=123:number, z="K":kotlin.String
// test.kt:1 component2:
// test.kt:9 box$lambda: x="O":kotlin.String, y=123:number, z="K":kotlin.String, w=877:number
// test.kt:10 box:
// test.kt:8 box$lambda: x="O":kotlin.String, y=123:number, z="K":kotlin.String, w=877:number
// test.kt:9 box:
+21 -22
View File
@@ -1,5 +1,4 @@
// WITH_STDLIB
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_BACKEND: JVM_IR
// FILE: test.kt
fun box() {
@@ -17,28 +16,28 @@ fun box() {
}
// EXPECTATIONS JVM
// test.kt:6 box:
// test.kt:12 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:8 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:15 box: map:java.util.Map=java.util.Collections$SingletonMap, e:java.util.Map$Entry=java.util.AbstractMap$SimpleImmutableEntry
// test.kt:8 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:17 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:5 box:
// test.kt:11 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:7 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:14 box: map:java.util.Map=java.util.Collections$SingletonMap, e:java.util.Map$Entry=java.util.AbstractMap$SimpleImmutableEntry
// test.kt:7 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:16 box: map:java.util.Map=java.util.Collections$SingletonMap
// EXPECTATIONS JVM_IR
// test.kt:6 box:
// test.kt:12 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:10 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:15 box: map:java.util.Map=java.util.Collections$SingletonMap, e:java.util.Map$Entry=java.util.AbstractMap$SimpleImmutableEntry
// test.kt:8 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:17 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:5 box:
// test.kt:11 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:7 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:14 box: map:java.util.Map=java.util.Collections$SingletonMap, e:java.util.Map$Entry=java.util.AbstractMap$SimpleImmutableEntry
// test.kt:7 box: map:java.util.Map=java.util.Collections$SingletonMap
// test.kt:16 box: map:java.util.Map=java.util.Collections$SingletonMap
// EXPECTATIONS JS_IR
// test.kt:6 box:
// test.kt:6 box:
// test.kt:12 box: map=kotlin.collections.HashMap
// test.kt:12 box: map=kotlin.collections.HashMap
// test.kt:12 box: map=kotlin.collections.HashMap
// test.kt:15 box: map=kotlin.collections.HashMap, e=kotlin.collections.AbstractMutableMap.SimpleEntry
// test.kt:15 box: map=kotlin.collections.HashMap, e=kotlin.collections.AbstractMutableMap.SimpleEntry
// test.kt:12 box: map=kotlin.collections.HashMap, e=kotlin.collections.AbstractMutableMap.SimpleEntry
// test.kt:17 box: map=kotlin.collections.HashMap, e=kotlin.collections.AbstractMutableMap.SimpleEntry
// test.kt:5 box:
// test.kt:5 box:
// test.kt:11 box: map=kotlin.collections.HashMap
// test.kt:11 box: map=kotlin.collections.HashMap
// test.kt:11 box: map=kotlin.collections.HashMap
// test.kt:14 box: map=kotlin.collections.HashMap, e=kotlin.collections.AbstractMutableMap.SimpleEntry
// test.kt:14 box: map=kotlin.collections.HashMap, e=kotlin.collections.AbstractMutableMap.SimpleEntry
// test.kt:11 box: map=kotlin.collections.HashMap, e=kotlin.collections.AbstractMutableMap.SimpleEntry
// test.kt:16 box: map=kotlin.collections.HashMap, e=kotlin.collections.AbstractMutableMap.SimpleEntry