From bb8a7b67955f5dee807ba9c0b5db635b80008335 Mon Sep 17 00:00:00 2001 From: Vladimir Sukharev Date: Sat, 16 Dec 2023 23:54:04 +0100 Subject: [PATCH] [K/N][Tests] Adjust moved tests interfaceCallsNCasts..vector to new infra ^KT-61259 --- .../testData/codegen/function/defaults.kt | 1 - .../conservativeItable.kt | 12 ++--- .../conservativeItable.out | 3 -- .../codegen/interfaceCallsNCasts/diamond.kt | 7 ++- .../interfaceCallsNCasts/finalMethod.kt | 7 ++- .../interfaceCallsNCasts/functionNameClash.kt | 7 ++- .../intrinsics/interop_sourceCodeStruct.kt | 22 ++++----- .../codegen/intrinsics/isExperimentalMM.kt | 4 +- .../kclass/anonymousObjectInInlineFunction.kt | 46 +++++++++++++++++++ ...nonymousObjectInInlineFunctionWithCache.kt | 46 +++++++++++++++++++ .../codegen/kclass/kClassEnumArgument.kt | 8 ++-- .../codegen/kclass/kClassEnumArgument.out | 1 - .../testData/codegen/kclass/kclass0.kt | 23 +--------- .../testData/codegen/kclass/kclass1.kt | 12 ++--- .../testData/codegen/kclass/kclass1.out | 1 - .../testData/codegen/lambda/lambda1.kt | 9 ++-- .../testData/codegen/lambda/lambda1.out | 1 - .../testData/codegen/lambda/lambda10.kt | 15 ++++-- .../testData/codegen/lambda/lambda10.out | 2 - .../testData/codegen/lambda/lambda11.kt | 17 +++++-- .../testData/codegen/lambda/lambda11.out | 2 - .../testData/codegen/lambda/lambda12.kt | 17 +++++-- .../testData/codegen/lambda/lambda12.out | 2 - .../testData/codegen/lambda/lambda13.kt | 11 +++-- .../testData/codegen/lambda/lambda13.out | 1 - .../testData/codegen/lambda/lambda14.kt | 8 ++-- .../testData/codegen/lambda/lambda2.kt | 11 +++-- .../testData/codegen/lambda/lambda2.out | 1 - .../testData/codegen/lambda/lambda3.kt | 11 +++-- .../testData/codegen/lambda/lambda3.out | 1 - .../testData/codegen/lambda/lambda4.kt | 20 ++++++-- .../testData/codegen/lambda/lambda4.out | 5 -- .../testData/codegen/lambda/lambda5.kt | 11 +++-- .../testData/codegen/lambda/lambda5.out | 1 - .../testData/codegen/lambda/lambda6.kt | 17 +++++-- .../testData/codegen/lambda/lambda6.out | 2 - .../testData/codegen/lambda/lambda7.kt | 7 ++- .../testData/codegen/lambda/lambda7.out | 1 - .../testData/codegen/lambda/lambda8.kt | 23 ++++++++-- .../testData/codegen/lambda/lambda8.out | 8 ---- .../testData/codegen/lambda/lambda9.kt | 23 ++++++++-- .../testData/codegen/lambda/lambda9.out | 8 ---- .../codegen/lambda/lambda_kt49360_withFlow.kt | 2 + .../codegen/lateinit/globalIsInitialized.kt | 15 ++++-- .../codegen/lateinit/globalIsInitialized.out | 2 - .../testData/codegen/lateinit/inBaseClass.kt | 8 ++-- .../testData/codegen/lateinit/inBaseClass.out | 1 - .../testData/codegen/lateinit/initialized.kt | 8 ++-- .../testData/codegen/lateinit/initialized.out | 1 - .../codegen/lateinit/innerIsInitialized.kt | 6 +-- .../codegen/lateinit/innerIsInitialized.out | 1 - .../codegen/lateinit/isInitialized.kt | 15 ++++-- .../codegen/lateinit/isInitialized.out | 2 - .../lateinit/localCapturedInitialized.kt | 8 ++-- .../lateinit/localCapturedInitialized.out | 1 - .../lateinit/localCapturedNotInitialized.kt | 14 +++--- .../lateinit/localCapturedNotInitialized.out | 1 - .../codegen/lateinit/localInitialized.kt | 8 ++-- .../codegen/lateinit/localInitialized.out | 1 - .../codegen/lateinit/localNotInitialized.kt | 14 +++--- .../codegen/lateinit/localNotInitialized.out | 1 - .../codegen/lateinit/notInitialized.kt | 14 +++--- .../codegen/lateinit/notInitialized.out | 1 - .../localClass/innerTakesCapturedFromOuter.kt | 19 ++++---- .../innerTakesCapturedFromOuter.out | 2 - .../codegen/localClass/innerWithCapture.kt | 6 +-- .../codegen/localClass/innerWithCapture.out | 1 - .../localFunctionCallFromLocalClass.kt | 6 +-- .../localFunctionCallFromLocalClass.out | 1 - .../localClass/localFunctionInLocalClass.kt | 6 +-- .../localClass/localFunctionInLocalClass.out | 1 - .../codegen/localClass/localHierarchy.kt | 6 +-- .../codegen/localClass/localHierarchy.out | 1 - .../localClass/noPrimaryConstructor.kt | 7 ++- .../localClass/noPrimaryConstructor.out | 1 - .../objectExpressionInInitializer.kt | 6 --- .../objectExpressionInInitializer.out | 1 - .../localClass/objectExpressionInProperty.kt | 6 --- .../localClass/objectExpressionInProperty.out | 1 - .../testData/codegen/localClass/tryCatch.kt | 10 ++-- .../testData/codegen/localClass/tryCatch.out | 0 .../localClass/virtualCallFromConstructor.kt | 6 --- .../localClass/virtualCallFromConstructor.out | 1 - .../localEscapeAnalysis/arraysFieldWrite.kt | 46 +++++++++++++++---- .../localEscapeAnalysis/arraysFieldWrite.out | 18 -------- .../testData/codegen/object/constructor0.kt | 7 ++- .../testData/codegen/object/fields.kt | 12 ++--- .../testData/codegen/object/fields1.kt | 11 +++-- .../testData/codegen/object/fields2.kt | 40 ++++++++-------- .../testData/codegen/object/fields2.out | 6 --- .../codegen/object/globalInitializer.kt | 7 ++- .../testData/codegen/object/init0.kt | 9 +++- .../testData/codegen/object/initialization.kt | 7 ++- .../codegen/object/initialization1.kt | 26 ++++++++--- .../codegen/object/initialization1.out | 7 --- .../testData/codegen/object/method_call.kt | 7 ++- .../codegen/objectDeclaration/isFrozen.kt | 7 +-- .../codegen/objectExpression/expr1.kt | 7 ++- .../codegen/objectExpression/expr1.out | 1 - .../codegen/objectExpression/expr2.kt | 9 ++-- .../codegen/objectExpression/expr2.out | 1 - .../codegen/objectExpression/expr3.kt | 20 +++++--- .../codegen/objectExpression/expr3.out | 3 -- .../dynamicReceiver.kt | 11 +++-- .../dynamicReceiver.out | 1 - .../propertyCallableReference/valClass.kt | 10 ++-- .../propertyCallableReference/valClass.out | 2 - .../propertyCallableReference/valExtension.kt | 10 ++-- .../valExtension.out | 2 - .../propertyCallableReference/valModule.kt | 8 ++-- .../propertyCallableReference/valModule.out | 1 - .../propertyCallableReference/varClass.kt | 14 +++--- .../propertyCallableReference/varClass.out | 4 -- .../propertyCallableReference/varExtension.kt | 14 +++--- .../varExtension.out | 4 -- .../propertyCallableReference/varModule.kt | 10 ++-- .../propertyCallableReference/varModule.out | 2 - .../testData/codegen/stringTrim/stringTrim.kt | 7 ++- .../testData/codegen/try/catch3.kt | 22 ++++++--- .../testData/codegen/try/catch3.out | 3 -- .../testData/codegen/try/catch4.kt | 26 +++++++---- .../testData/codegen/try/catch4.out | 3 -- .../testData/codegen/try/catch5.kt | 30 +++++++----- .../testData/codegen/try/catch5.out | 3 -- .../testData/codegen/try/catch6.kt | 26 +++++++---- .../testData/codegen/try/catch6.out | 3 -- .../testData/codegen/try/catch8.kt | 14 ++++-- .../testData/codegen/try/catch8.out | 1 - .../testData/codegen/try/finally1.kt | 20 +++++--- .../testData/codegen/try/finally1.out | 3 -- .../testData/codegen/try/finally10.kt | 17 +++++-- .../testData/codegen/try/finally10.out | 2 - .../testData/codegen/try/finally11.kt | 26 ++++++++--- .../testData/codegen/try/finally11.out | 3 -- .../testData/codegen/try/finally2.kt | 25 ++++++---- .../testData/codegen/try/finally2.out | 4 -- .../testData/codegen/try/finally3.kt | 27 +++++++---- .../testData/codegen/try/finally3.out | 4 -- .../testData/codegen/try/finally4.kt | 34 +++++++++----- .../testData/codegen/try/finally4.out | 5 -- .../testData/codegen/try/finally5.kt | 22 ++++++--- .../testData/codegen/try/finally5.out | 3 -- .../testData/codegen/try/finally6.kt | 22 ++++++--- .../testData/codegen/try/finally6.out | 3 -- .../testData/codegen/try/finally7.kt | 21 ++++++--- .../testData/codegen/try/finally7.out | 3 -- .../testData/codegen/try/finally8.kt | 22 ++++++--- .../testData/codegen/try/finally8.out | 3 -- .../testData/codegen/try/finally9.kt | 20 +++++--- .../testData/codegen/try/finally9.out | 3 -- .../codegen/try/returnsDifferentTypes.kt | 17 +++++-- .../codegen/try/returnsDifferentTypes.out | 2 - .../native.tests/testData/codegen/try/try1.kt | 7 ++- .../testData/codegen/try/try1.out | 1 - .../native.tests/testData/codegen/try/try2.kt | 7 ++- .../testData/codegen/try/try2.out | 1 - .../native.tests/testData/codegen/try/try3.kt | 7 ++- .../testData/codegen/try/try3.out | 1 - .../native.tests/testData/codegen/try/try4.kt | 17 +++++-- .../testData/codegen/try/try4.out | 2 - .../codegen/vector/default_argument.kt | 6 +-- .../FirNativeCodegenLocalTestGenerated.java | 12 +++++ .../NativeCodegenLocalTestGenerated.java | 12 +++++ 163 files changed, 841 insertions(+), 672 deletions(-) delete mode 100644 native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.out create mode 100644 native/native.tests/testData/codegen/kclass/anonymousObjectInInlineFunction.kt create mode 100644 native/native.tests/testData/codegen/kclass/anonymousObjectInInlineFunctionWithCache.kt delete mode 100644 native/native.tests/testData/codegen/kclass/kClassEnumArgument.out delete mode 100644 native/native.tests/testData/codegen/kclass/kclass1.out delete mode 100644 native/native.tests/testData/codegen/lambda/lambda1.out delete mode 100644 native/native.tests/testData/codegen/lambda/lambda10.out delete mode 100644 native/native.tests/testData/codegen/lambda/lambda11.out delete mode 100644 native/native.tests/testData/codegen/lambda/lambda12.out delete mode 100644 native/native.tests/testData/codegen/lambda/lambda13.out delete mode 100644 native/native.tests/testData/codegen/lambda/lambda2.out delete mode 100644 native/native.tests/testData/codegen/lambda/lambda3.out delete mode 100644 native/native.tests/testData/codegen/lambda/lambda4.out delete mode 100644 native/native.tests/testData/codegen/lambda/lambda5.out delete mode 100644 native/native.tests/testData/codegen/lambda/lambda6.out delete mode 100644 native/native.tests/testData/codegen/lambda/lambda7.out delete mode 100644 native/native.tests/testData/codegen/lambda/lambda8.out delete mode 100644 native/native.tests/testData/codegen/lambda/lambda9.out delete mode 100644 native/native.tests/testData/codegen/lateinit/globalIsInitialized.out delete mode 100644 native/native.tests/testData/codegen/lateinit/inBaseClass.out delete mode 100644 native/native.tests/testData/codegen/lateinit/initialized.out delete mode 100644 native/native.tests/testData/codegen/lateinit/innerIsInitialized.out delete mode 100644 native/native.tests/testData/codegen/lateinit/isInitialized.out delete mode 100644 native/native.tests/testData/codegen/lateinit/localCapturedInitialized.out delete mode 100644 native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.out delete mode 100644 native/native.tests/testData/codegen/lateinit/localInitialized.out delete mode 100644 native/native.tests/testData/codegen/lateinit/localNotInitialized.out delete mode 100644 native/native.tests/testData/codegen/lateinit/notInitialized.out delete mode 100644 native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.out delete mode 100644 native/native.tests/testData/codegen/localClass/innerWithCapture.out delete mode 100644 native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.out delete mode 100644 native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.out delete mode 100644 native/native.tests/testData/codegen/localClass/localHierarchy.out delete mode 100644 native/native.tests/testData/codegen/localClass/noPrimaryConstructor.out delete mode 100644 native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.out delete mode 100644 native/native.tests/testData/codegen/localClass/objectExpressionInProperty.out delete mode 100644 native/native.tests/testData/codegen/localClass/tryCatch.out delete mode 100644 native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.out delete mode 100644 native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.out delete mode 100644 native/native.tests/testData/codegen/object/fields2.out delete mode 100644 native/native.tests/testData/codegen/object/initialization1.out delete mode 100644 native/native.tests/testData/codegen/objectExpression/expr1.out delete mode 100644 native/native.tests/testData/codegen/objectExpression/expr2.out delete mode 100644 native/native.tests/testData/codegen/objectExpression/expr3.out delete mode 100644 native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.out delete mode 100644 native/native.tests/testData/codegen/propertyCallableReference/valClass.out delete mode 100644 native/native.tests/testData/codegen/propertyCallableReference/valExtension.out delete mode 100644 native/native.tests/testData/codegen/propertyCallableReference/valModule.out delete mode 100644 native/native.tests/testData/codegen/propertyCallableReference/varClass.out delete mode 100644 native/native.tests/testData/codegen/propertyCallableReference/varExtension.out delete mode 100644 native/native.tests/testData/codegen/propertyCallableReference/varModule.out delete mode 100644 native/native.tests/testData/codegen/try/catch3.out delete mode 100644 native/native.tests/testData/codegen/try/catch4.out delete mode 100644 native/native.tests/testData/codegen/try/catch5.out delete mode 100644 native/native.tests/testData/codegen/try/catch6.out delete mode 100644 native/native.tests/testData/codegen/try/catch8.out delete mode 100644 native/native.tests/testData/codegen/try/finally1.out delete mode 100644 native/native.tests/testData/codegen/try/finally10.out delete mode 100644 native/native.tests/testData/codegen/try/finally11.out delete mode 100644 native/native.tests/testData/codegen/try/finally2.out delete mode 100644 native/native.tests/testData/codegen/try/finally3.out delete mode 100644 native/native.tests/testData/codegen/try/finally4.out delete mode 100644 native/native.tests/testData/codegen/try/finally5.out delete mode 100644 native/native.tests/testData/codegen/try/finally6.out delete mode 100644 native/native.tests/testData/codegen/try/finally7.out delete mode 100644 native/native.tests/testData/codegen/try/finally8.out delete mode 100644 native/native.tests/testData/codegen/try/finally9.out delete mode 100644 native/native.tests/testData/codegen/try/returnsDifferentTypes.out delete mode 100644 native/native.tests/testData/codegen/try/try1.out delete mode 100644 native/native.tests/testData/codegen/try/try2.out delete mode 100644 native/native.tests/testData/codegen/try/try3.out delete mode 100644 native/native.tests/testData/codegen/try/try4.out diff --git a/native/native.tests/testData/codegen/function/defaults.kt b/native/native.tests/testData/codegen/function/defaults.kt index 796cbffa45b..04317a5eb9d 100644 --- a/native/native.tests/testData/codegen/function/defaults.kt +++ b/native/native.tests/testData/codegen/function/defaults.kt @@ -6,7 +6,6 @@ /** * Created by minamoto on 12/26/16. */ -//package defaults open class A(val a:Int) { override fun equals(other: Any?): Boolean { diff --git a/native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.kt b/native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.kt index fffc6c51848..c8f2b5bf763 100644 --- a/native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.kt +++ b/native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.interfaceCallsNCasts.conservativeItable - import kotlin.test.* interface I0 { @@ -559,9 +557,9 @@ fun foo(i42: I42, x: Int) = i42.foo42(x) fun bar(i_m1: I_M1, x: Int) = i_m1.bar(x) -@Test fun runTest() { +fun box(): String { val y = Bar2() - println(bar(y, 1)) + assertEquals(539, bar(y, 1)) val x0 = Bar() var t = 0 if (check_is_I0(x0)) t = t + 1 @@ -664,7 +662,7 @@ fun bar(i_m1: I_M1, x: Int) = i_m1.bar(x) if (check_is_I97(x0)) t = t + 98 if (check_is_I98(x0)) t = t + 99 if (check_is_I99(x0)) t = t + 100 - println(t) + assertEquals(5050, t) val x1 = I42_Impl1() val x2 = I42_Impl2() val x3 = I42_Impl3() @@ -682,5 +680,7 @@ fun bar(i_m1: I_M1, x: Int) = i_m1.bar(x) t = foo(x6, t) t = foo(x7, t) t = foo(x8, t) - println(t) + assertEquals(26551140, t) + + return "OK" } diff --git a/native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.out b/native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.out deleted file mode 100644 index 179af5fc996..00000000000 --- a/native/native.tests/testData/codegen/interfaceCallsNCasts/conservativeItable.out +++ /dev/null @@ -1,3 +0,0 @@ -539 -5050 -26551140 diff --git a/native/native.tests/testData/codegen/interfaceCallsNCasts/diamond.kt b/native/native.tests/testData/codegen/interfaceCallsNCasts/diamond.kt index 76d41fa29bb..d996f960aaf 100644 --- a/native/native.tests/testData/codegen/interfaceCallsNCasts/diamond.kt +++ b/native/native.tests/testData/codegen/interfaceCallsNCasts/diamond.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.interfaceCallsNCasts.diamond - import kotlin.test.* interface A { @@ -19,8 +17,7 @@ class Z : B, C { override fun foo(t: String, u: Int) = "Z" } -@Test -fun runTest() { +fun box(): String { val z = Z() val c: C = z val b: B = z @@ -30,4 +27,6 @@ fun runTest() { assertEquals("Z", c.foo("", 0)) assertEquals("Z", b.foo("", 0)) assertEquals("Z", a.foo("", 0)) + + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/interfaceCallsNCasts/finalMethod.kt b/native/native.tests/testData/codegen/interfaceCallsNCasts/finalMethod.kt index a47cac60a9f..f59cc214324 100644 --- a/native/native.tests/testData/codegen/interfaceCallsNCasts/finalMethod.kt +++ b/native/native.tests/testData/codegen/interfaceCallsNCasts/finalMethod.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.interfaceCallsNCasts.finalMethod - import kotlin.test.* interface I1 { @@ -21,8 +19,9 @@ class C : I2 { override fun foo(x: Int) = x } -@Test -fun runTest() { +fun box(): String { val c: I2 = C() assertEquals(42, c.foo()) + + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/interfaceCallsNCasts/functionNameClash.kt b/native/native.tests/testData/codegen/interfaceCallsNCasts/functionNameClash.kt index 1fd467f63d8..34c0c3e2bf6 100644 --- a/native/native.tests/testData/codegen/interfaceCallsNCasts/functionNameClash.kt +++ b/native/native.tests/testData/codegen/interfaceCallsNCasts/functionNameClash.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.interfaceCallsNCasts.functionNameClash - import kotlin.test.* interface I1 { @@ -18,11 +16,12 @@ class C : I1, I2 { override fun foo(x: Int) = "I2.foo($x)" } -@Test -fun runTest() { +fun box(): String { val c = C() val i1: I1 = c assertEquals("I1.foo(str)", i1.foo("str")) val i2: I2 = c assertEquals("I2.foo(42)", i2.foo(42)) + + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/intrinsics/interop_sourceCodeStruct.kt b/native/native.tests/testData/codegen/intrinsics/interop_sourceCodeStruct.kt index 9ce1bd29db1..17001c55ba5 100644 --- a/native/native.tests/testData/codegen/intrinsics/interop_sourceCodeStruct.kt +++ b/native/native.tests/testData/codegen/intrinsics/interop_sourceCodeStruct.kt @@ -1,8 +1,6 @@ @file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") @file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class, kotlin.native.internal.InternalForKotlinNative::class) -package codegen.intrinsics.interop_sourceCodeStruct - import kotlinx.cinterop.* import kotlinx.cinterop.internal.* import kotlin.test.* @@ -29,15 +27,17 @@ class S(rawPtr: NativePtr) : CStructVar(rawPtr) { } } -@Test -fun test() = memScoped { - val s = alloc() +fun box(): String { + memScoped { + val s = alloc() - s.x = 123 - assertEquals(123, s.x) - assertEquals(123, s.ptr.reinterpret()[0]) + s.x = 123 + assertEquals(123, s.x) + assertEquals(123, s.ptr.reinterpret()[0]) - s.y = 321 - assertEquals(321, s.y) - assertEquals(321, s.ptr.reinterpret()[1]) + s.y = 321 + assertEquals(321, s.y) + assertEquals(321, s.ptr.reinterpret()[1]) + } + return "OK" } diff --git a/native/native.tests/testData/codegen/intrinsics/isExperimentalMM.kt b/native/native.tests/testData/codegen/intrinsics/isExperimentalMM.kt index 3bb94999d99..047d098348e 100644 --- a/native/native.tests/testData/codegen/intrinsics/isExperimentalMM.kt +++ b/native/native.tests/testData/codegen/intrinsics/isExperimentalMM.kt @@ -7,12 +7,12 @@ import kotlin.test.* import kotlin.native.Platform -@Test @OptIn(kotlin.ExperimentalStdlibApi::class) -fun testIsExperimentalMM() { +fun box(): String { if (isExperimentalMM()) { assertEquals(Platform.memoryModel, MemoryModel.EXPERIMENTAL) } else { assertNotEquals(Platform.memoryModel, MemoryModel.EXPERIMENTAL) } + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/kclass/anonymousObjectInInlineFunction.kt b/native/native.tests/testData/codegen/kclass/anonymousObjectInInlineFunction.kt new file mode 100644 index 00000000000..1dd6883c6df --- /dev/null +++ b/native/native.tests/testData/codegen/kclass/anonymousObjectInInlineFunction.kt @@ -0,0 +1,46 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the LICENSE file. + */ +// KT-64460: When producing cache, anonymous objects are not extracted from inline functions to module scope, so the following happens +// kotlin.AssertionError: Expected , actual . +// IGNORE_NATIVE: cacheMode=STATIC_EVERYWHERE +// IGNORE_NATIVE: cacheMode=STATIC_PER_FILE_EVERYWHERE + +package codegen.kclass.kclass0 +import kotlin.test.* +import kotlin.reflect.KClass + +interface HasFoo { + fun foo(): String +} + +private inline fun getHasFoo(s: String) = object : HasFoo { + override fun foo(): String = s +} + +fun box(): String { + val hasFoo = getHasFoo("zzz") + checkClass( + hasFoo::class, + expectedQualifiedName = null, + expectedSimpleName = null, // KT-64460: simpleName is explicitly prohibited in NATIVE backend + expectedToStringName = "class codegen.kclass.kclass0.MainKt\$1", + expectedInstance = hasFoo, + expectedNotInstance = Any() + ) + return "OK" +} + +private fun checkClass( + clazz: KClass<*>, + expectedQualifiedName: String?, expectedSimpleName: String?, expectedToStringName: String, + expectedInstance: Any, expectedNotInstance: Any? +) { + assertEquals(expectedQualifiedName, clazz.qualifiedName) + assertEquals(expectedSimpleName, clazz.simpleName) + assertEquals(expectedToStringName, clazz.toString()) + + assertTrue(clazz.isInstance(expectedInstance)) + if (expectedNotInstance != null) assertTrue(!clazz.isInstance(expectedNotInstance)) +} diff --git a/native/native.tests/testData/codegen/kclass/anonymousObjectInInlineFunctionWithCache.kt b/native/native.tests/testData/codegen/kclass/anonymousObjectInInlineFunctionWithCache.kt new file mode 100644 index 00000000000..bfd9878fc4f --- /dev/null +++ b/native/native.tests/testData/codegen/kclass/anonymousObjectInInlineFunctionWithCache.kt @@ -0,0 +1,46 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the LICENSE file. + */ +// KT-64460: When not producing cache, anonymous objects are extracted from inline functions to module scope, so the following happens +// kotlin.AssertionError: Expected , actual . +// IGNORE_NATIVE: cacheMode=NO +// IGNORE_NATIVE: cacheMode=STATIC_ONLY_DIST + +package codegen.kclass.kclass0 +import kotlin.test.* +import kotlin.reflect.KClass + +interface HasFoo { + fun foo(): String +} + +private inline fun getHasFoo(s: String) = object : HasFoo { + override fun foo(): String = s +} + +fun box(): String { + val hasFoo = getHasFoo("zzz") + checkClass( + hasFoo::class, + expectedQualifiedName = null, + expectedSimpleName = null, // KT-64460: simpleName is explicitly prohibited in NATIVE backend + expectedToStringName = "class codegen.kclass.kclass0.box\$\$inlined\$getHasFoo\$1", + expectedInstance = hasFoo, + expectedNotInstance = Any() + ) + return "OK" +} + +private fun checkClass( + clazz: KClass<*>, + expectedQualifiedName: String?, expectedSimpleName: String?, expectedToStringName: String, + expectedInstance: Any, expectedNotInstance: Any? +) { + assertEquals(expectedQualifiedName, clazz.qualifiedName) + assertEquals(expectedSimpleName, clazz.simpleName) + assertEquals(expectedToStringName, clazz.toString()) + + assertTrue(clazz.isInstance(expectedInstance)) + if (expectedNotInstance != null) assertTrue(!clazz.isInstance(expectedNotInstance)) +} diff --git a/native/native.tests/testData/codegen/kclass/kClassEnumArgument.kt b/native/native.tests/testData/codegen/kclass/kClassEnumArgument.kt index 911102b2328..bcf5a0ceb6f 100644 --- a/native/native.tests/testData/codegen/kclass/kClassEnumArgument.kt +++ b/native/native.tests/testData/codegen/kclass/kClassEnumArgument.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.kclass.kClassEnumArgument - import kotlin.test.* import kotlin.reflect.KClass @@ -13,6 +11,8 @@ enum class E(val arg: KClass<*>?) { B(String::class); } -@Test fun runTest() { - println(E.B.arg?.simpleName) +fun box(): String { + assertEquals("String", E.B.arg?.simpleName) + + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/kclass/kClassEnumArgument.out b/native/native.tests/testData/codegen/kclass/kClassEnumArgument.out deleted file mode 100644 index 102e3209c64..00000000000 --- a/native/native.tests/testData/codegen/kclass/kClassEnumArgument.out +++ /dev/null @@ -1 +0,0 @@ -String diff --git a/native/native.tests/testData/codegen/kclass/kclass0.kt b/native/native.tests/testData/codegen/kclass/kclass0.kt index d19285e31f8..204ecdcc6ec 100644 --- a/native/native.tests/testData/codegen/kclass/kclass0.kt +++ b/native/native.tests/testData/codegen/kclass/kclass0.kt @@ -2,15 +2,14 @@ * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license * that can be found in the LICENSE file. */ - package codegen.kclass.kclass0 - import kotlin.test.* import kotlin.coroutines.* import kotlin.reflect.KClass -@Test fun runTest() { +fun box(): String { main(emptyArray()) + return "OK" } fun main(args: Array) { @@ -211,14 +210,6 @@ private fun checkLocalClasses(args: Array) { ::suspendFunWithLocalClass.runCoroutine() } -interface HasFoo { - fun foo(): String -} - -private inline fun getHasFoo(s: String) = object : HasFoo { - override fun foo(): String = s -} - private fun checkAnonymousObjects(args: Array) { // Anonymous object. with(object : Any() { @@ -378,16 +369,6 @@ private fun checkAnonymousObjects(args: Array) { } } ::suspendFunWithAnonymousObject.runCoroutine() - - val hasFoo = getHasFoo("zzz") - checkClass( - hasFoo::class, - expectedQualifiedName = null, - expectedSimpleName = null, - expectedToStringName = "class codegen.kclass.kclass0.Kclass0Kt$1", - expectedInstance = hasFoo, - expectedNotInstance = Any() - ) } private fun checkAnonymousObjectsAssignedToProperty(args: Array) { diff --git a/native/native.tests/testData/codegen/kclass/kclass1.kt b/native/native.tests/testData/codegen/kclass/kclass1.kt index 2af152c829c..c793193d0b1 100644 --- a/native/native.tests/testData/codegen/kclass/kclass1.kt +++ b/native/native.tests/testData/codegen/kclass/kclass1.kt @@ -7,12 +7,12 @@ package codegen.kclass.kclass1 import kotlin.test.* -// FILE: main.kt -@Test fun runTest() { - App(testQualified = true) -} +val sb = StringBuilder() -// FILE: app.kt +fun box(): String { + App(testQualified = true) + return sb.toString() +} // Taken from: // https://github.com/SalomonBrys/kmffkn/blob/master/shared/main/kotlin/com/github/salomonbrys/kmffkn/app.kt @@ -55,6 +55,6 @@ class App(testQualified: Boolean) { assert(TestClass()::class == TestClass()::class) assert(TestClass()::class == TestClass::class) - println("OK :D") + sb.append("OK") } } diff --git a/native/native.tests/testData/codegen/kclass/kclass1.out b/native/native.tests/testData/codegen/kclass/kclass1.out deleted file mode 100644 index 09d20e8d4ca..00000000000 --- a/native/native.tests/testData/codegen/kclass/kclass1.out +++ /dev/null @@ -1 +0,0 @@ -OK :D diff --git a/native/native.tests/testData/codegen/lambda/lambda1.kt b/native/native.tests/testData/codegen/lambda/lambda1.kt index d40793d594e..01b5ece039e 100644 --- a/native/native.tests/testData/codegen/lambda/lambda1.kt +++ b/native/native.tests/testData/codegen/lambda/lambda1.kt @@ -3,14 +3,15 @@ * that can be found in the LICENSE file. */ -package codegen.lambda.lambda1 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { run { - println("lambda") + sb.append("OK") } + return sb.toString() } fun run(f: () -> Unit) { diff --git a/native/native.tests/testData/codegen/lambda/lambda1.out b/native/native.tests/testData/codegen/lambda/lambda1.out deleted file mode 100644 index 13f74ac1d90..00000000000 --- a/native/native.tests/testData/codegen/lambda/lambda1.out +++ /dev/null @@ -1 +0,0 @@ -lambda diff --git a/native/native.tests/testData/codegen/lambda/lambda10.kt b/native/native.tests/testData/codegen/lambda/lambda10.kt index 46afaadd863..10f69df97e3 100644 --- a/native/native.tests/testData/codegen/lambda/lambda10.kt +++ b/native/native.tests/testData/codegen/lambda/lambda10.kt @@ -3,19 +3,26 @@ * that can be found in the LICENSE file. */ -package codegen.lambda.lambda10 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { var str = "original" val lambda = { - println(str) + sb.appendLine(str) } lambda() str = "changed" lambda() + + assertEquals(""" + original + changed + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/lambda/lambda10.out b/native/native.tests/testData/codegen/lambda/lambda10.out deleted file mode 100644 index 27530da547f..00000000000 --- a/native/native.tests/testData/codegen/lambda/lambda10.out +++ /dev/null @@ -1,2 +0,0 @@ -original -changed diff --git a/native/native.tests/testData/codegen/lambda/lambda11.kt b/native/native.tests/testData/codegen/lambda/lambda11.kt index cb76f709497..50efae1617a 100644 --- a/native/native.tests/testData/codegen/lambda/lambda11.kt +++ b/native/native.tests/testData/codegen/lambda/lambda11.kt @@ -3,18 +3,25 @@ * that can be found in the LICENSE file. */ -package codegen.lambda.lambda11 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { val first = "first" val second = "second" run { - println(first) - println(second) + sb.appendLine(first) + sb.appendLine(second) } + + assertEquals(""" + first + second + + """.trimIndent(), sb.toString()) + return "OK" } fun run(f: () -> Unit) { diff --git a/native/native.tests/testData/codegen/lambda/lambda11.out b/native/native.tests/testData/codegen/lambda/lambda11.out deleted file mode 100644 index 66a52ee7a1d..00000000000 --- a/native/native.tests/testData/codegen/lambda/lambda11.out +++ /dev/null @@ -1,2 +0,0 @@ -first -second diff --git a/native/native.tests/testData/codegen/lambda/lambda12.kt b/native/native.tests/testData/codegen/lambda/lambda12.kt index 9101aaf11ae..b687c50bffd 100644 --- a/native/native.tests/testData/codegen/lambda/lambda12.kt +++ b/native/native.tests/testData/codegen/lambda/lambda12.kt @@ -3,15 +3,22 @@ * that can be found in the LICENSE file. */ -package codegen.lambda.lambda12 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { val lambda = { s1: String, s2: String -> - println(s1) - println(s2) + sb.appendLine(s1) + sb.appendLine(s2) } lambda("one", "two") + + assertEquals(""" + one + two + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/lambda/lambda12.out b/native/native.tests/testData/codegen/lambda/lambda12.out deleted file mode 100644 index 814f4a42292..00000000000 --- a/native/native.tests/testData/codegen/lambda/lambda12.out +++ /dev/null @@ -1,2 +0,0 @@ -one -two diff --git a/native/native.tests/testData/codegen/lambda/lambda13.kt b/native/native.tests/testData/codegen/lambda/lambda13.kt index 534c444a9c8..51b3fe49180 100644 --- a/native/native.tests/testData/codegen/lambda/lambda13.kt +++ b/native/native.tests/testData/codegen/lambda/lambda13.kt @@ -3,14 +3,15 @@ * that can be found in the LICENSE file. */ -package codegen.lambda.lambda13 - import kotlin.test.* -@Test fun runTest() { - apply("foo") { - println(this) +val sb = StringBuilder() + +fun box(): String { + apply("OK") { + sb.append(this) } + return sb.toString() } fun apply(str: String, block: String.() -> Unit) { diff --git a/native/native.tests/testData/codegen/lambda/lambda13.out b/native/native.tests/testData/codegen/lambda/lambda13.out deleted file mode 100644 index 257cc5642cb..00000000000 --- a/native/native.tests/testData/codegen/lambda/lambda13.out +++ /dev/null @@ -1 +0,0 @@ -foo diff --git a/native/native.tests/testData/codegen/lambda/lambda14.kt b/native/native.tests/testData/codegen/lambda/lambda14.kt index 7d9a0d14b71..6d687caa286 100644 --- a/native/native.tests/testData/codegen/lambda/lambda14.kt +++ b/native/native.tests/testData/codegen/lambda/lambda14.kt @@ -5,19 +5,17 @@ // FILE: 1.kt -package codegen.lambda.lambda14 - import kotlin.test.* -@Test fun runTest() { +fun box(): String { assertEquals(foo()(), "foo1") assertEquals(foo(0)(), "foo2") + + return "OK" } fun foo() = { "foo1" } // FILE: 2.kt -package codegen.lambda.lambda14 - fun foo(ignored: Int) = { "foo2" } diff --git a/native/native.tests/testData/codegen/lambda/lambda2.kt b/native/native.tests/testData/codegen/lambda/lambda2.kt index 7b94afad76e..159c72fb4cf 100644 --- a/native/native.tests/testData/codegen/lambda/lambda2.kt +++ b/native/native.tests/testData/codegen/lambda/lambda2.kt @@ -3,17 +3,18 @@ * that can be found in the LICENSE file. */ -package codegen.lambda.lambda2 - import kotlin.test.* -@Test fun runTest() { - main(arrayOf("arg0")) +val sb = StringBuilder() + +fun box(): String { + main(arrayOf("OK")) + return sb.toString() } fun main(args : Array) { run { - println(args[0]) + sb.append(args[0]) } } diff --git a/native/native.tests/testData/codegen/lambda/lambda2.out b/native/native.tests/testData/codegen/lambda/lambda2.out deleted file mode 100644 index 3432ce3d58d..00000000000 --- a/native/native.tests/testData/codegen/lambda/lambda2.out +++ /dev/null @@ -1 +0,0 @@ -arg0 diff --git a/native/native.tests/testData/codegen/lambda/lambda3.kt b/native/native.tests/testData/codegen/lambda/lambda3.kt index 9f7ef9bfc8a..372ad4e41c1 100644 --- a/native/native.tests/testData/codegen/lambda/lambda3.kt +++ b/native/native.tests/testData/codegen/lambda/lambda3.kt @@ -3,15 +3,16 @@ * that can be found in the LICENSE file. */ -package codegen.lambda.lambda3 - import kotlin.test.* -@Test fun runTest() { - var str = "lambda" +val sb = StringBuilder() + +fun box(): String { + var str = "OK" run { - println(str) + sb.append(str) } + return sb.toString() } fun run(f: () -> Unit) { diff --git a/native/native.tests/testData/codegen/lambda/lambda3.out b/native/native.tests/testData/codegen/lambda/lambda3.out deleted file mode 100644 index 13f74ac1d90..00000000000 --- a/native/native.tests/testData/codegen/lambda/lambda3.out +++ /dev/null @@ -1 +0,0 @@ -lambda diff --git a/native/native.tests/testData/codegen/lambda/lambda4.kt b/native/native.tests/testData/codegen/lambda/lambda4.kt index 544feb1be80..d3bdad03a62 100644 --- a/native/native.tests/testData/codegen/lambda/lambda4.kt +++ b/native/native.tests/testData/codegen/lambda/lambda4.kt @@ -3,21 +3,31 @@ * that can be found in the LICENSE file. */ -package codegen.lambda.lambda4 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { val lambda = bar() lambda() lambda() + + assertEquals(""" + 1 + 2 + 3 + 3 + 4 + + """.trimIndent(), sb.toString()) + return "OK" } fun bar(): () -> Unit { var x = Integer(0) val lambda = { - println(x.toString()) + sb.appendLine(x.toString()) x = x + 1 } @@ -26,7 +36,7 @@ fun bar(): () -> Unit { lambda() lambda() - println(x.toString()) + sb.appendLine(x.toString()) return lambda } diff --git a/native/native.tests/testData/codegen/lambda/lambda4.out b/native/native.tests/testData/codegen/lambda/lambda4.out deleted file mode 100644 index de670dc1c44..00000000000 --- a/native/native.tests/testData/codegen/lambda/lambda4.out +++ /dev/null @@ -1,5 +0,0 @@ -1 -2 -3 -3 -4 diff --git a/native/native.tests/testData/codegen/lambda/lambda5.kt b/native/native.tests/testData/codegen/lambda/lambda5.kt index de84e981929..e5d6bda9b49 100644 --- a/native/native.tests/testData/codegen/lambda/lambda5.kt +++ b/native/native.tests/testData/codegen/lambda/lambda5.kt @@ -3,14 +3,17 @@ * that can be found in the LICENSE file. */ -package codegen.lambda.lambda5 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { foo { - println(it) + sb.append(it) } + assertEquals("42", sb.toString()) + return "OK" + } fun foo(f: (Int) -> Unit) { diff --git a/native/native.tests/testData/codegen/lambda/lambda5.out b/native/native.tests/testData/codegen/lambda/lambda5.out deleted file mode 100644 index d81cc0710eb..00000000000 --- a/native/native.tests/testData/codegen/lambda/lambda5.out +++ /dev/null @@ -1 +0,0 @@ -42 diff --git a/native/native.tests/testData/codegen/lambda/lambda6.kt b/native/native.tests/testData/codegen/lambda/lambda6.kt index fb0f08a4090..b29b4e6841f 100644 --- a/native/native.tests/testData/codegen/lambda/lambda6.kt +++ b/native/native.tests/testData/codegen/lambda/lambda6.kt @@ -3,16 +3,23 @@ * that can be found in the LICENSE file. */ -package codegen.lambda.lambda6 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { val str = "captured" foo { - println(it) - println(str) + sb.appendLine(it) + sb.appendLine(str) } + assertEquals(""" + 42 + captured + + """.trimIndent(), sb.toString()) + return "OK" + } fun foo(f: (Int) -> Unit) { diff --git a/native/native.tests/testData/codegen/lambda/lambda6.out b/native/native.tests/testData/codegen/lambda/lambda6.out deleted file mode 100644 index 0df2ee0c6b0..00000000000 --- a/native/native.tests/testData/codegen/lambda/lambda6.out +++ /dev/null @@ -1,2 +0,0 @@ -42 -captured diff --git a/native/native.tests/testData/codegen/lambda/lambda7.kt b/native/native.tests/testData/codegen/lambda/lambda7.kt index cdd0e46a697..4702ab37484 100644 --- a/native/native.tests/testData/codegen/lambda/lambda7.kt +++ b/native/native.tests/testData/codegen/lambda/lambda7.kt @@ -3,15 +3,14 @@ * that can be found in the LICENSE file. */ -package codegen.lambda.lambda7 - import kotlin.test.* -@Test fun runTest() { +fun box(): String { val x = foo { it + 1 } - println(x) + assertEquals(43, x) + return "OK" } fun foo(f: (Int) -> Int) = f(42) \ No newline at end of file diff --git a/native/native.tests/testData/codegen/lambda/lambda7.out b/native/native.tests/testData/codegen/lambda/lambda7.out deleted file mode 100644 index 920a1396648..00000000000 --- a/native/native.tests/testData/codegen/lambda/lambda7.out +++ /dev/null @@ -1 +0,0 @@ -43 diff --git a/native/native.tests/testData/codegen/lambda/lambda8.kt b/native/native.tests/testData/codegen/lambda/lambda8.kt index 0ff6c8eac44..eb6f7e731b4 100644 --- a/native/native.tests/testData/codegen/lambda/lambda8.kt +++ b/native/native.tests/testData/codegen/lambda/lambda8.kt @@ -3,11 +3,11 @@ * that can be found in the LICENSE file. */ -package codegen.lambda.lambda8 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { val lambda1 = bar("first") val lambda2 = bar("second") @@ -15,14 +15,27 @@ import kotlin.test.* lambda2() lambda1() lambda2() + + assertEquals(""" + first + 0 + second + 0 + first + 1 + second + 1 + + """.trimIndent(), sb.toString()) + return "OK" } fun bar(str: String): () -> Unit { var x = Integer(0) return { - println(str) - println(x.toString()) + sb.appendLine(str) + sb.appendLine(x.toString()) x = x + 1 } } diff --git a/native/native.tests/testData/codegen/lambda/lambda8.out b/native/native.tests/testData/codegen/lambda/lambda8.out deleted file mode 100644 index 8058d48ad21..00000000000 --- a/native/native.tests/testData/codegen/lambda/lambda8.out +++ /dev/null @@ -1,8 +0,0 @@ -first -0 -second -0 -first -1 -second -1 diff --git a/native/native.tests/testData/codegen/lambda/lambda9.kt b/native/native.tests/testData/codegen/lambda/lambda9.kt index bb281a5155b..3bc8dd2a5c3 100644 --- a/native/native.tests/testData/codegen/lambda/lambda9.kt +++ b/native/native.tests/testData/codegen/lambda/lambda9.kt @@ -3,11 +3,11 @@ * that can be found in the LICENSE file. */ -package codegen.lambda.lambda9 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { val lambdas = ArrayList<() -> Unit>() for (i in 0..1) { @@ -15,8 +15,8 @@ import kotlin.test.* val istr = i.toString() lambdas.add { - println(istr) - println(x.toString()) + sb.appendLine(istr) + sb.appendLine(x.toString()) x = x + 1 } } @@ -28,6 +28,19 @@ import kotlin.test.* lambda2() lambda1() lambda2() + + assertEquals(""" + 0 + 0 + 1 + 0 + 0 + 1 + 1 + 1 + + """.trimIndent(), sb.toString()) + return "OK" } class Integer(val value: Int) { diff --git a/native/native.tests/testData/codegen/lambda/lambda9.out b/native/native.tests/testData/codegen/lambda/lambda9.out deleted file mode 100644 index c476ef19641..00000000000 --- a/native/native.tests/testData/codegen/lambda/lambda9.out +++ /dev/null @@ -1,8 +0,0 @@ -0 -0 -1 -0 -0 -1 -1 -1 diff --git a/native/native.tests/testData/codegen/lambda/lambda_kt49360_withFlow.kt b/native/native.tests/testData/codegen/lambda/lambda_kt49360_withFlow.kt index e662be6e057..368c9ae52fd 100644 --- a/native/native.tests/testData/codegen/lambda/lambda_kt49360_withFlow.kt +++ b/native/native.tests/testData/codegen/lambda/lambda_kt49360_withFlow.kt @@ -5,6 +5,8 @@ import kotlin.coroutines.* // https://youtrack.jetbrains.com/issue/KT-49360 +class Block(val block: () -> Int) + // The Flow code below is taken from kotlinx.coroutines (some unrelated details removed). interface FlowCollector { diff --git a/native/native.tests/testData/codegen/lateinit/globalIsInitialized.kt b/native/native.tests/testData/codegen/lateinit/globalIsInitialized.kt index 7230c3c98e8..91cd81bd87d 100644 --- a/native/native.tests/testData/codegen/lateinit/globalIsInitialized.kt +++ b/native/native.tests/testData/codegen/lateinit/globalIsInitialized.kt @@ -3,18 +3,25 @@ * that can be found in the LICENSE file. */ -package codegen.lateinit.globalIsInitialized - import kotlin.test.* +val sb = StringBuilder() + lateinit var s: String fun foo() { - println(::s.isInitialized) + sb.appendLine(::s.isInitialized) } -@Test fun runTest() { +fun box(): String { foo() s = "zzz" foo() + + assertEquals(""" + false + true + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/lateinit/globalIsInitialized.out b/native/native.tests/testData/codegen/lateinit/globalIsInitialized.out deleted file mode 100644 index 1d474d52557..00000000000 --- a/native/native.tests/testData/codegen/lateinit/globalIsInitialized.out +++ /dev/null @@ -1,2 +0,0 @@ -false -true diff --git a/native/native.tests/testData/codegen/lateinit/inBaseClass.kt b/native/native.tests/testData/codegen/lateinit/inBaseClass.kt index e21be883db8..0243c4ad541 100644 --- a/native/native.tests/testData/codegen/lateinit/inBaseClass.kt +++ b/native/native.tests/testData/codegen/lateinit/inBaseClass.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.lateinit.inBaseClass - import kotlin.test.* class A(val a: Int) @@ -17,8 +15,10 @@ class C: B() { fun foo() { a = A(42) } } -@Test fun runTest() { +fun box(): String { val c = C() c.foo() - println(c.a.a) + assertEquals(42, c.a.a) + + return "OK" } diff --git a/native/native.tests/testData/codegen/lateinit/inBaseClass.out b/native/native.tests/testData/codegen/lateinit/inBaseClass.out deleted file mode 100644 index d81cc0710eb..00000000000 --- a/native/native.tests/testData/codegen/lateinit/inBaseClass.out +++ /dev/null @@ -1 +0,0 @@ -42 diff --git a/native/native.tests/testData/codegen/lateinit/initialized.kt b/native/native.tests/testData/codegen/lateinit/initialized.kt index ada8507493d..b0e0c8ff115 100644 --- a/native/native.tests/testData/codegen/lateinit/initialized.kt +++ b/native/native.tests/testData/codegen/lateinit/initialized.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.lateinit.initialized - import kotlin.test.* class A { @@ -13,8 +11,8 @@ class A { fun foo() = s } -@Test fun runTest() { +fun box(): String { val a = A() - a.s = "zzz" - println(a.foo()) + a.s = "OK" + return a.foo() } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/lateinit/initialized.out b/native/native.tests/testData/codegen/lateinit/initialized.out deleted file mode 100644 index b1a17ba1369..00000000000 --- a/native/native.tests/testData/codegen/lateinit/initialized.out +++ /dev/null @@ -1 +0,0 @@ -zzz diff --git a/native/native.tests/testData/codegen/lateinit/innerIsInitialized.kt b/native/native.tests/testData/codegen/lateinit/innerIsInitialized.kt index b8411ab5d1c..5a03ee1ced8 100644 --- a/native/native.tests/testData/codegen/lateinit/innerIsInitialized.kt +++ b/native/native.tests/testData/codegen/lateinit/innerIsInitialized.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.lateinit.innerIsInitialized - import kotlin.test.* open class Foo { @@ -23,6 +21,6 @@ open class Foo { } } -@Test fun runTest() { - println(Foo().test()) +fun box(): String { + return Foo().test() } diff --git a/native/native.tests/testData/codegen/lateinit/innerIsInitialized.out b/native/native.tests/testData/codegen/lateinit/innerIsInitialized.out deleted file mode 100644 index d86bac9de59..00000000000 --- a/native/native.tests/testData/codegen/lateinit/innerIsInitialized.out +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/native/native.tests/testData/codegen/lateinit/isInitialized.kt b/native/native.tests/testData/codegen/lateinit/isInitialized.kt index 9c69400d235..0af9c7b6ff0 100644 --- a/native/native.tests/testData/codegen/lateinit/isInitialized.kt +++ b/native/native.tests/testData/codegen/lateinit/isInitialized.kt @@ -3,21 +3,28 @@ * that can be found in the LICENSE file. */ -package codegen.lateinit.isInitialized - import kotlin.test.* +val sb = StringBuilder() + class A { lateinit var s: String fun foo() { - println(::s.isInitialized) + sb.appendLine(::s.isInitialized) } } -@Test fun runTest() { +fun box(): String { val a = A() a.foo() a.s = "zzz" a.foo() + + assertEquals(""" + false + true + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/lateinit/isInitialized.out b/native/native.tests/testData/codegen/lateinit/isInitialized.out deleted file mode 100644 index 1d474d52557..00000000000 --- a/native/native.tests/testData/codegen/lateinit/isInitialized.out +++ /dev/null @@ -1,2 +0,0 @@ -false -true diff --git a/native/native.tests/testData/codegen/lateinit/localCapturedInitialized.kt b/native/native.tests/testData/codegen/lateinit/localCapturedInitialized.kt index 19449a0644f..b753635d44d 100644 --- a/native/native.tests/testData/codegen/lateinit/localCapturedInitialized.kt +++ b/native/native.tests/testData/codegen/lateinit/localCapturedInitialized.kt @@ -3,15 +3,13 @@ * that can be found in the LICENSE file. */ -package codegen.lateinit.localCapturedInitialized - import kotlin.test.* -@Test fun runTest() { +fun box(): String { lateinit var s: String fun foo() = s - s = "zzz" - println(foo()) + s = "OK" + return foo() } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/lateinit/localCapturedInitialized.out b/native/native.tests/testData/codegen/lateinit/localCapturedInitialized.out deleted file mode 100644 index b1a17ba1369..00000000000 --- a/native/native.tests/testData/codegen/lateinit/localCapturedInitialized.out +++ /dev/null @@ -1 +0,0 @@ -zzz diff --git a/native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.kt b/native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.kt index 0d66a6c07be..6ff2e102ffc 100644 --- a/native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.kt +++ b/native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.kt @@ -3,21 +3,21 @@ * that can be found in the LICENSE file. */ -package codegen.lateinit.localCapturedNotInitialized - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { lateinit var s: String fun foo() = s try { - println(foo()) + sb.appendLine(foo()) } catch (e: RuntimeException) { - println("OK") - return + sb.append("OK") + return sb.toString() } - println("Fail") + return "Fail" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.out b/native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.out deleted file mode 100644 index d86bac9de59..00000000000 --- a/native/native.tests/testData/codegen/lateinit/localCapturedNotInitialized.out +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/native/native.tests/testData/codegen/lateinit/localInitialized.kt b/native/native.tests/testData/codegen/lateinit/localInitialized.kt index 446ef98a2ce..fdfdcb58b94 100644 --- a/native/native.tests/testData/codegen/lateinit/localInitialized.kt +++ b/native/native.tests/testData/codegen/lateinit/localInitialized.kt @@ -3,12 +3,10 @@ * that can be found in the LICENSE file. */ -package codegen.lateinit.localInitialized - import kotlin.test.* -@Test fun runTest() { +fun box(): String { lateinit var s: String - s = "zzz" - println(s) + s = "OK" + return s } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/lateinit/localInitialized.out b/native/native.tests/testData/codegen/lateinit/localInitialized.out deleted file mode 100644 index b1a17ba1369..00000000000 --- a/native/native.tests/testData/codegen/lateinit/localInitialized.out +++ /dev/null @@ -1 +0,0 @@ -zzz diff --git a/native/native.tests/testData/codegen/lateinit/localNotInitialized.kt b/native/native.tests/testData/codegen/lateinit/localNotInitialized.kt index dbed93596b2..edfe9116516 100644 --- a/native/native.tests/testData/codegen/lateinit/localNotInitialized.kt +++ b/native/native.tests/testData/codegen/lateinit/localNotInitialized.kt @@ -3,19 +3,19 @@ * that can be found in the LICENSE file. */ -package codegen.lateinit.localNotInitialized - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { lateinit var s: String try { - println(s) + sb.appendLine(s) } catch (e: RuntimeException) { - println("OK") - return + sb.append("OK") + return sb.toString() } - println("Fail") + return "Fail" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/lateinit/localNotInitialized.out b/native/native.tests/testData/codegen/lateinit/localNotInitialized.out deleted file mode 100644 index d86bac9de59..00000000000 --- a/native/native.tests/testData/codegen/lateinit/localNotInitialized.out +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/native/native.tests/testData/codegen/lateinit/notInitialized.kt b/native/native.tests/testData/codegen/lateinit/notInitialized.kt index b42906e55b4..87066ba0db7 100644 --- a/native/native.tests/testData/codegen/lateinit/notInitialized.kt +++ b/native/native.tests/testData/codegen/lateinit/notInitialized.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.lateinit.notInitialized - import kotlin.test.* class A { @@ -13,14 +11,16 @@ class A { fun foo() = s } -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { val a = A() try { - println(a.foo()) + sb.appendLine(a.foo()) } catch (e: RuntimeException) { - println("OK") - return + sb.append("OK") + return sb.toString() } - println("Fail") + return "Fail" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/lateinit/notInitialized.out b/native/native.tests/testData/codegen/lateinit/notInitialized.out deleted file mode 100644 index d86bac9de59..00000000000 --- a/native/native.tests/testData/codegen/lateinit/notInitialized.out +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.kt b/native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.kt index c06dc27a3e5..246c49b9872 100644 --- a/native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.kt +++ b/native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.kt @@ -3,11 +3,11 @@ * that can be found in the LICENSE file. */ -package codegen.localClass.innerTakesCapturedFromOuter - import kotlin.test.* -fun box() { +val sb = StringBuilder() + +fun box(): String { var previous: Any? = null for (i in 0 .. 2) { class Outer { @@ -17,11 +17,14 @@ fun box() { override fun toString() = Inner().toString() } - if (previous != null) println(previous.toString()) + if (previous != null) sb.appendLine(previous.toString()) previous = Outer() } -} -@Test fun runTest() { - box() -} \ No newline at end of file + assertEquals(""" + 0 + 1 + + """.trimIndent(), sb.toString()) + return "OK" +} diff --git a/native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.out b/native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.out deleted file mode 100644 index 0d66ea1aee9..00000000000 --- a/native/native.tests/testData/codegen/localClass/innerTakesCapturedFromOuter.out +++ /dev/null @@ -1,2 +0,0 @@ -0 -1 diff --git a/native/native.tests/testData/codegen/localClass/innerWithCapture.kt b/native/native.tests/testData/codegen/localClass/innerWithCapture.kt index 82d4eaee3ae..2a88d51229b 100644 --- a/native/native.tests/testData/codegen/localClass/innerWithCapture.kt +++ b/native/native.tests/testData/codegen/localClass/innerWithCapture.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.localClass.innerWithCapture - import kotlin.test.* fun box(s: String): String { @@ -17,6 +15,6 @@ fun box(s: String): String { return Local().Inner().result() } -@Test fun runTest() { - println(box("OK")) +fun box(): String { + return box("OK") } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/localClass/innerWithCapture.out b/native/native.tests/testData/codegen/localClass/innerWithCapture.out deleted file mode 100644 index d86bac9de59..00000000000 --- a/native/native.tests/testData/codegen/localClass/innerWithCapture.out +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.kt b/native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.kt index d8a426c515d..19fb8ecdbbe 100644 --- a/native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.kt +++ b/native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.kt @@ -3,11 +3,9 @@ * that can be found in the LICENSE file. */ -package codegen.localClass.localFunctionCallFromLocalClass - import kotlin.test.* -@Test fun runTest() { +fun box(): String { var x = 1 fun local1() { x++ @@ -19,5 +17,5 @@ import kotlin.test.* } } A().bar() - println("OK") + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.out b/native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.out deleted file mode 100644 index d86bac9de59..00000000000 --- a/native/native.tests/testData/codegen/localClass/localFunctionCallFromLocalClass.out +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.kt b/native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.kt index df9f3051645..9858f5c0ee3 100644 --- a/native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.kt +++ b/native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.kt @@ -3,11 +3,9 @@ * that can be found in the LICENSE file. */ -package codegen.localClass.localFunctionInLocalClass - import kotlin.test.* -@Test fun runTest() { +fun box(): String { var x = 0 class A { fun bar() { @@ -26,5 +24,5 @@ import kotlin.test.* } } A().bar() - println("OK") + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.out b/native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.out deleted file mode 100644 index d86bac9de59..00000000000 --- a/native/native.tests/testData/codegen/localClass/localFunctionInLocalClass.out +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/native/native.tests/testData/codegen/localClass/localHierarchy.kt b/native/native.tests/testData/codegen/localClass/localHierarchy.kt index dae25bfe043..bd25a45a93c 100644 --- a/native/native.tests/testData/codegen/localClass/localHierarchy.kt +++ b/native/native.tests/testData/codegen/localClass/localHierarchy.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.localClass.localHierarchy - import kotlin.test.* fun foo(s: String): String { @@ -19,6 +17,6 @@ fun foo(s: String): String { return Derived().g() } -@Test fun runTest() { - println(foo("OK")) +fun box(): String { + return foo("OK") } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/localClass/localHierarchy.out b/native/native.tests/testData/codegen/localClass/localHierarchy.out deleted file mode 100644 index d86bac9de59..00000000000 --- a/native/native.tests/testData/codegen/localClass/localHierarchy.out +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/native/native.tests/testData/codegen/localClass/noPrimaryConstructor.kt b/native/native.tests/testData/codegen/localClass/noPrimaryConstructor.kt index d1ea6acb7bc..e602a91a66a 100644 --- a/native/native.tests/testData/codegen/localClass/noPrimaryConstructor.kt +++ b/native/native.tests/testData/codegen/localClass/noPrimaryConstructor.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.localClass.noPrimaryConstructor - import kotlin.test.* fun box(s: String): String { @@ -25,6 +23,7 @@ fun box(s: String): String { return Local(42).result() + Local("zzz").result() } -@Test fun runTest() { - println(box("OK")) +fun box(): String { + assertEquals("OKOK", box("OK")) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/localClass/noPrimaryConstructor.out b/native/native.tests/testData/codegen/localClass/noPrimaryConstructor.out deleted file mode 100644 index d65874ef665..00000000000 --- a/native/native.tests/testData/codegen/localClass/noPrimaryConstructor.out +++ /dev/null @@ -1 +0,0 @@ -OKOK diff --git a/native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.kt b/native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.kt index 8678f840645..169d0507b09 100644 --- a/native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.kt +++ b/native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.localClass.objectExpressionInInitializer - import kotlin.test.* abstract class Father { @@ -28,7 +26,3 @@ class Child : Father() { fun box(): String { return Child().ChildInClass.work() } - -@Test fun runTest() { - println(box()) -} \ No newline at end of file diff --git a/native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.out b/native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.out deleted file mode 100644 index d86bac9de59..00000000000 --- a/native/native.tests/testData/codegen/localClass/objectExpressionInInitializer.out +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/native/native.tests/testData/codegen/localClass/objectExpressionInProperty.kt b/native/native.tests/testData/codegen/localClass/objectExpressionInProperty.kt index b9b1a0fcd5f..f7432b09e38 100644 --- a/native/native.tests/testData/codegen/localClass/objectExpressionInProperty.kt +++ b/native/native.tests/testData/codegen/localClass/objectExpressionInProperty.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.localClass.objectExpressionInProperty - import kotlin.test.* abstract class Father { @@ -24,7 +22,3 @@ class Child : Father() { fun box(): String { return Child().ChildInClass.work() } - -@Test fun runTest() { - println(box()) -} \ No newline at end of file diff --git a/native/native.tests/testData/codegen/localClass/objectExpressionInProperty.out b/native/native.tests/testData/codegen/localClass/objectExpressionInProperty.out deleted file mode 100644 index d86bac9de59..00000000000 --- a/native/native.tests/testData/codegen/localClass/objectExpressionInProperty.out +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/native/native.tests/testData/codegen/localClass/tryCatch.kt b/native/native.tests/testData/codegen/localClass/tryCatch.kt index 67f588d2de7..7459a422448 100644 --- a/native/native.tests/testData/codegen/localClass/tryCatch.kt +++ b/native/native.tests/testData/codegen/localClass/tryCatch.kt @@ -3,23 +3,25 @@ * that can be found in the LICENSE file. */ -package codegen.localClass.tryCatch - import kotlin.test.* +val sb = StringBuilder() + private fun foo() { val local = object { fun bar() { try { } catch (t: Throwable) { - println(t) + sb.appendLine(t) } } } local.bar() } -@Test fun runTest() { +fun box(): String { + sb.append("OK") foo() + return sb.toString() } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/localClass/tryCatch.out b/native/native.tests/testData/codegen/localClass/tryCatch.out deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.kt b/native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.kt index 95c75365179..61709780c62 100644 --- a/native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.kt +++ b/native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.localClass.virtualCallFromConstructor - import kotlin.test.* abstract class WaitFor { @@ -28,7 +26,3 @@ fun box(): String { return result; } - -@Test fun runTest() { - println(box()) -} \ No newline at end of file diff --git a/native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.out b/native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.out deleted file mode 100644 index d86bac9de59..00000000000 --- a/native/native.tests/testData/codegen/localClass/virtualCallFromConstructor.out +++ /dev/null @@ -1 +0,0 @@ -OK diff --git a/native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.kt b/native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.kt index 75098792ac8..a755e663255 100644 --- a/native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.kt +++ b/native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.kt @@ -2,6 +2,9 @@ * Copyright 2010-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license * that can be found in the LICENSE file. */ +import kotlin.test.* + +val sb = StringBuilder() class ArraysConstructor { private val memberArray: IntArray @@ -14,9 +17,9 @@ class ArraysConstructor { memberArray[1] = int2 } fun log() { - println("Array (constructor init):") - println("Size: ${memberArray.size}") - println("Contents: ${memberArray.contentToString()}") + sb.appendLine("Array (constructor init):") + sb.appendLine("Size: ${memberArray.size}") + sb.appendLine("Contents: ${memberArray.contentToString()}") } } @@ -30,9 +33,9 @@ class ArraysDefault { memberArray[1] = int2 } fun log() { - println("Array (default value init):") - println("Size: ${memberArray.size}") - println("Contents: ${memberArray.contentToString()}") + sb.appendLine("Array (default value init):") + sb.appendLine("Size: ${memberArray.size}") + sb.appendLine("Contents: ${memberArray.contentToString()}") } } @@ -49,13 +52,13 @@ class ArraysInitBlock { memberArray[1] = int2 } fun log() { - println("Array (init block):") - println("Size: ${memberArray.size}") - println("Contents: ${memberArray.contentToString()}") + sb.appendLine("Array (init block):") + sb.appendLine("Size: ${memberArray.size}") + sb.appendLine("Contents: ${memberArray.contentToString()}") } } -fun main() { +fun box(): String { val array1 = (::ArraysConstructor)(1, 2) array1.log() array1.set( 3, 4) @@ -70,4 +73,27 @@ fun main() { array3.log() array3.set( 3, 4) array3.log() + + assertEquals(""" + Array (constructor init): + Size: 2 + Contents: [1, 2] + Array (constructor init): + Size: 2 + Contents: [3, 4] + Array (default value init): + Size: 2 + Contents: [1, 2] + Array (default value init): + Size: 2 + Contents: [3, 4] + Array (init block): + Size: 2 + Contents: [1, 2] + Array (init block): + Size: 2 + Contents: [3, 4] + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.out b/native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.out deleted file mode 100644 index e5febaf76d2..00000000000 --- a/native/native.tests/testData/codegen/localEscapeAnalysis/arraysFieldWrite.out +++ /dev/null @@ -1,18 +0,0 @@ -Array (constructor init): -Size: 2 -Contents: [1, 2] -Array (constructor init): -Size: 2 -Contents: [3, 4] -Array (default value init): -Size: 2 -Contents: [1, 2] -Array (default value init): -Size: 2 -Contents: [3, 4] -Array (init block): -Size: 2 -Contents: [1, 2] -Array (init block): -Size: 2 -Contents: [3, 4] diff --git a/native/native.tests/testData/codegen/object/constructor0.kt b/native/native.tests/testData/codegen/object/constructor0.kt index faf5829cf4f..b38bd4cff7b 100644 --- a/native/native.tests/testData/codegen/object/constructor0.kt +++ b/native/native.tests/testData/codegen/object/constructor0.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.`object`.constructor0 - import kotlin.test.* class A { @@ -13,3 +11,8 @@ class A { field0 = arg0 } } + +fun box(): String { + assertEquals(42, A(42).field0) + return "OK" +} diff --git a/native/native.tests/testData/codegen/object/fields.kt b/native/native.tests/testData/codegen/object/fields.kt index 295cc83ba52..24f9c1e9247 100644 --- a/native/native.tests/testData/codegen/object/fields.kt +++ b/native/native.tests/testData/codegen/object/fields.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.`object`.fields - import kotlin.test.* private var globalValue = 1 @@ -18,8 +16,10 @@ fun globalTest(i:Int):Int { } -@Test fun runTest() { - if (global != 1) throw Error() - if (globalTest(41) != 42) throw Error() - if (global != 42) throw Error() +fun box(): String { + assertEquals(1, global) + assertEquals(42, globalTest(41)) + assertEquals(42, global) + + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/object/fields1.kt b/native/native.tests/testData/codegen/object/fields1.kt index d86d6ca43d2..6fdbbce4c05 100644 --- a/native/native.tests/testData/codegen/object/fields1.kt +++ b/native/native.tests/testData/codegen/object/fields1.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.`object`.fields1 - import kotlin.test.* class B(val a:Int, b:Int) { @@ -16,7 +14,10 @@ fun primaryConstructorCall(a:Int, b:Int) = B(a, b).pos fun secondaryConstructorCall(a:Int) = B(a).pos -@Test fun runTest() { - if (primaryConstructorCall(0xdeadbeef.toInt(), 41) != 42) throw Error() - if (secondaryConstructorCall(41) != 42) throw Error() +fun box(): String { + assertEquals(42, primaryConstructorCall(0xdeadbeef.toInt(), 41)) + assertEquals(42, secondaryConstructorCall(41)) + + return "OK" + } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/object/fields2.kt b/native/native.tests/testData/codegen/object/fields2.kt index defec5342a7..887682fa727 100644 --- a/native/native.tests/testData/codegen/object/fields2.kt +++ b/native/native.tests/testData/codegen/object/fields2.kt @@ -3,33 +3,33 @@ * that can be found in the LICENSE file. */ -package codegen.`object`.fields2 - import kotlin.test.* +val sb = StringBuilder() + var global: Int = 0 get() { - println("Get global = $field") + sb.appendLine("Get global = $field") return field } set(value) { - println("Set global = $value") + sb.appendLine("Set global = $value") field = value } class TestClass { var member: Int = 0 get() { - println("Get member = $field") + sb.appendLine("Get member = $field") return field } set(value) { - println("Set member = $value") + sb.appendLine("Set member = $value") field = value } } -@Test fun runTest1() { +fun box(): String { global = 1 val test = TestClass() @@ -37,19 +37,15 @@ class TestClass { global = test.member test.member = global -} - -@ThreadLocal -val xInt = 42 - -@ThreadLocal -val xString = "42" - -@ThreadLocal -val xAny = Any() - -@Test fun runTest2() { - assertEquals(42, xInt) - assertEquals("42", xString) - assertTrue(xAny is Any) + + assertEquals(""" + Set global = 1 + Set member = 42 + Get member = 42 + Set global = 42 + Get global = 42 + Set member = 42 + + """.trimIndent(), sb.toString()) + return "OK" } diff --git a/native/native.tests/testData/codegen/object/fields2.out b/native/native.tests/testData/codegen/object/fields2.out deleted file mode 100644 index 25818a613a7..00000000000 --- a/native/native.tests/testData/codegen/object/fields2.out +++ /dev/null @@ -1,6 +0,0 @@ -Set global = 1 -Set member = 42 -Get member = 42 -Set global = 42 -Get global = 42 -Set member = 42 diff --git a/native/native.tests/testData/codegen/object/globalInitializer.kt b/native/native.tests/testData/codegen/object/globalInitializer.kt index 1ac31a56090..f4d3784c4c3 100644 --- a/native/native.tests/testData/codegen/object/globalInitializer.kt +++ b/native/native.tests/testData/codegen/object/globalInitializer.kt @@ -9,4 +9,9 @@ public val z: Any = Z private object Z -fun main(args: Array) { } \ No newline at end of file +fun box(): String { + if (z is Z) + return "OK" + else + return "FAIL" +} diff --git a/native/native.tests/testData/codegen/object/init0.kt b/native/native.tests/testData/codegen/object/init0.kt index e574977f809..641d308b764 100644 --- a/native/native.tests/testData/codegen/object/init0.kt +++ b/native/native.tests/testData/codegen/object/init0.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.`object`.init0 - import kotlin.test.* class A(a:Int) { @@ -12,4 +10,11 @@ class A(a:Int) { init { if (a == 0) i = 1 } +} + +fun box(): String { + assertEquals(1, A(0).i) + assertEquals(0, A(1).i) + + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/object/initialization.kt b/native/native.tests/testData/codegen/object/initialization.kt index a6423d122c2..d28b700a201 100644 --- a/native/native.tests/testData/codegen/object/initialization.kt +++ b/native/native.tests/testData/codegen/object/initialization.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.`object`.initialization - import kotlin.test.* open class A(val a:Int, val b:Int) @@ -28,6 +26,7 @@ fun foo(i:Int, j:Int):Int { return c.c } -@Test fun runTest() { - if (foo(2, 3) != 5) throw Error() +fun box(): String { + assertEquals(5, foo(2, 3)) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/object/initialization1.kt b/native/native.tests/testData/codegen/object/initialization1.kt index 18121584c6b..63f9fc28835 100644 --- a/native/native.tests/testData/codegen/object/initialization1.kt +++ b/native/native.tests/testData/codegen/object/initialization1.kt @@ -3,27 +3,39 @@ * that can be found in the LICENSE file. */ -package codegen.`object`.initialization1 - import kotlin.test.* +val sb = StringBuilder() + class TestClass { constructor() { - println("constructor1") + sb.appendLine("constructor1") } constructor(x: Int) : this() { - println("constructor2") + sb.appendLine("constructor2") } init { - println("init") + sb.appendLine("init") } - val f = println("field") + val f = sb.appendLine("field") } -@Test fun runTest() { +fun box(): String { TestClass() TestClass(1) + + assertEquals(""" + init + field + constructor1 + init + field + constructor1 + constructor2 + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/object/initialization1.out b/native/native.tests/testData/codegen/object/initialization1.out deleted file mode 100644 index 97bc2304c6a..00000000000 --- a/native/native.tests/testData/codegen/object/initialization1.out +++ /dev/null @@ -1,7 +0,0 @@ -init -field -constructor1 -init -field -constructor1 -constructor2 diff --git a/native/native.tests/testData/codegen/object/method_call.kt b/native/native.tests/testData/codegen/object/method_call.kt index a670edbb1b5..ef9d7de3d57 100644 --- a/native/native.tests/testData/codegen/object/method_call.kt +++ b/native/native.tests/testData/codegen/object/method_call.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.`object`.method_call - import kotlin.test.* class A(val a:Int) { @@ -13,6 +11,7 @@ class A(val a:Int) { fun fortyTwo() = A(41).foo(1) -@Test fun runTest() { - if (fortyTwo() != 42) throw Error() +fun box(): String { + assertEquals(42, fortyTwo()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/objectDeclaration/isFrozen.kt b/native/native.tests/testData/codegen/objectDeclaration/isFrozen.kt index ade756bed92..e5ea66987f3 100644 --- a/native/native.tests/testData/codegen/objectDeclaration/isFrozen.kt +++ b/native/native.tests/testData/codegen/objectDeclaration/isFrozen.kt @@ -3,8 +3,8 @@ * that can be found in the LICENSE file. */ -@file:OptIn(FreezingIsDeprecated::class, kotlin.experimental.ExperimentalNativeApi::class) -package codegen.objectDeclaration.isFrozen +//@file:OptIn(FreezingIsDeprecated::class, kotlin.experimental.ExperimentalNativeApi::class) +@file:OptIn(kotlin.experimental.ExperimentalNativeApi::class) import kotlin.test.* import kotlin.native.concurrent.* @@ -13,7 +13,7 @@ object X { var value: Int = 0 } -@Test fun runTest() { +fun box(): String { if (Platform.memoryModel == MemoryModel.STRICT) { assertTrue(X.isFrozen) assertFailsWith { @@ -25,4 +25,5 @@ object X { X.value = 42 assertEquals(42, X.value) } + return "OK" } diff --git a/native/native.tests/testData/codegen/objectExpression/expr1.kt b/native/native.tests/testData/codegen/objectExpression/expr1.kt index 93a718c9a36..2b68f000c5f 100644 --- a/native/native.tests/testData/codegen/objectExpression/expr1.kt +++ b/native/native.tests/testData/codegen/objectExpression/expr1.kt @@ -3,11 +3,9 @@ * that can be found in the LICENSE file. */ -package codegen.objectExpression.expr1 - import kotlin.test.* -@Test fun runTest() { +fun box(): String { val a = "a" val x = object { @@ -18,5 +16,6 @@ import kotlin.test.* fun foo(s: String) = s + s } - println(x.toString()) + assertEquals("aabb", x.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/objectExpression/expr1.out b/native/native.tests/testData/codegen/objectExpression/expr1.out deleted file mode 100644 index bf59612bf5a..00000000000 --- a/native/native.tests/testData/codegen/objectExpression/expr1.out +++ /dev/null @@ -1 +0,0 @@ -aabb diff --git a/native/native.tests/testData/codegen/objectExpression/expr2.kt b/native/native.tests/testData/codegen/objectExpression/expr2.kt index 8efb6677aa4..6d4de2f2dbe 100644 --- a/native/native.tests/testData/codegen/objectExpression/expr2.kt +++ b/native/native.tests/testData/codegen/objectExpression/expr2.kt @@ -3,11 +3,10 @@ * that can be found in the LICENSE file. */ -package codegen.objectExpression.expr2 import kotlin.test.* -@Test fun runTest() { - val a = "a" +fun box(): String { + val a = "OK" val x = object { override fun toString(): String { @@ -19,7 +18,5 @@ import kotlin.test.* fun foo(lambda: () -> String) = lambda() } - print(x) + return x.toString() } - -fun print(x: Any) = println(x.toString()) \ No newline at end of file diff --git a/native/native.tests/testData/codegen/objectExpression/expr2.out b/native/native.tests/testData/codegen/objectExpression/expr2.out deleted file mode 100644 index 78981922613..00000000000 --- a/native/native.tests/testData/codegen/objectExpression/expr2.out +++ /dev/null @@ -1 +0,0 @@ -a diff --git a/native/native.tests/testData/codegen/objectExpression/expr3.kt b/native/native.tests/testData/codegen/objectExpression/expr3.kt index 438478090c6..c6c7f8f701b 100644 --- a/native/native.tests/testData/codegen/objectExpression/expr3.kt +++ b/native/native.tests/testData/codegen/objectExpression/expr3.kt @@ -3,24 +3,30 @@ * that can be found in the LICENSE file. */ -package codegen.objectExpression.expr3 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { var cnt = 0 var x: Any = "" for (i in 0 .. 1) { - print(x) + sb.appendLine(x) cnt++ val y = object { override fun toString() = cnt.toString() } x = y } - print(x) -} + sb.appendLine(x) -fun print(x: Any) = println(x.toString()) \ No newline at end of file + assertEquals(""" + + 1 + 2 + + """.trimIndent(), sb.toString()) + return "OK" +} diff --git a/native/native.tests/testData/codegen/objectExpression/expr3.out b/native/native.tests/testData/codegen/objectExpression/expr3.out deleted file mode 100644 index 2867aeb3fa1..00000000000 --- a/native/native.tests/testData/codegen/objectExpression/expr3.out +++ /dev/null @@ -1,3 +0,0 @@ - -1 -2 diff --git a/native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.kt b/native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.kt index 726f42ed825..d325e547ea8 100644 --- a/native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.kt +++ b/native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.kt @@ -3,19 +3,22 @@ * that can be found in the LICENSE file. */ -package codegen.propertyCallableReference.dynamicReceiver - import kotlin.test.* +val sb = StringBuilder() + class TestClass { var x: Int = 42 } fun foo(): TestClass { - println(42) + sb.append(42) return TestClass() } -@Test fun runTest() { +fun box(): String { foo()::x + + assertEquals("42", sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.out b/native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.out deleted file mode 100644 index d81cc0710eb..00000000000 --- a/native/native.tests/testData/codegen/propertyCallableReference/dynamicReceiver.out +++ /dev/null @@ -1 +0,0 @@ -42 diff --git a/native/native.tests/testData/codegen/propertyCallableReference/valClass.kt b/native/native.tests/testData/codegen/propertyCallableReference/valClass.kt index 6f23a2e3100..0f57d0f91e4 100644 --- a/native/native.tests/testData/codegen/propertyCallableReference/valClass.kt +++ b/native/native.tests/testData/codegen/propertyCallableReference/valClass.kt @@ -3,16 +3,16 @@ * that can be found in the LICENSE file. */ -package codegen.propertyCallableReference.valClass - import kotlin.test.* class A(val x: Int) -@Test fun runTest() { +fun box(): String { val p1 = A::x - println(p1.get(A(42))) + assertEquals(42, p1.get(A(42))) val a = A(117) val p2 = a::x - println(p2.get()) + assertEquals(117, p2.get()) + + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/propertyCallableReference/valClass.out b/native/native.tests/testData/codegen/propertyCallableReference/valClass.out deleted file mode 100644 index 6f7eb39b03d..00000000000 --- a/native/native.tests/testData/codegen/propertyCallableReference/valClass.out +++ /dev/null @@ -1,2 +0,0 @@ -42 -117 diff --git a/native/native.tests/testData/codegen/propertyCallableReference/valExtension.kt b/native/native.tests/testData/codegen/propertyCallableReference/valExtension.kt index 85bc5e9b919..440275b1d9d 100644 --- a/native/native.tests/testData/codegen/propertyCallableReference/valExtension.kt +++ b/native/native.tests/testData/codegen/propertyCallableReference/valExtension.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.propertyCallableReference.valExtension - import kotlin.test.* class A(y: Int) { @@ -13,10 +11,12 @@ class A(y: Int) { val A.z get() = this.x -@Test fun runTest() { +fun box(): String { val p1 = A::z - println(p1.get(A(42))) + assertEquals(42, p1.get(A(42))) val a = A(117) val p2 = a::z - println(p2.get()) + assertEquals(117, p2.get()) + + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/propertyCallableReference/valExtension.out b/native/native.tests/testData/codegen/propertyCallableReference/valExtension.out deleted file mode 100644 index 6f7eb39b03d..00000000000 --- a/native/native.tests/testData/codegen/propertyCallableReference/valExtension.out +++ /dev/null @@ -1,2 +0,0 @@ -42 -117 diff --git a/native/native.tests/testData/codegen/propertyCallableReference/valModule.kt b/native/native.tests/testData/codegen/propertyCallableReference/valModule.kt index edc3109846b..b7eec0b1545 100644 --- a/native/native.tests/testData/codegen/propertyCallableReference/valModule.kt +++ b/native/native.tests/testData/codegen/propertyCallableReference/valModule.kt @@ -3,13 +3,13 @@ * that can be found in the LICENSE file. */ -package codegen.propertyCallableReference.valModule - import kotlin.test.* val x = 42 -@Test fun runTest() { +fun box(): String { val p = ::x - println(p.get()) + assertEquals(42, p.get()) + + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/propertyCallableReference/valModule.out b/native/native.tests/testData/codegen/propertyCallableReference/valModule.out deleted file mode 100644 index d81cc0710eb..00000000000 --- a/native/native.tests/testData/codegen/propertyCallableReference/valModule.out +++ /dev/null @@ -1 +0,0 @@ -42 diff --git a/native/native.tests/testData/codegen/propertyCallableReference/varClass.kt b/native/native.tests/testData/codegen/propertyCallableReference/varClass.kt index fc89021ee59..638e4725111 100644 --- a/native/native.tests/testData/codegen/propertyCallableReference/varClass.kt +++ b/native/native.tests/testData/codegen/propertyCallableReference/varClass.kt @@ -3,20 +3,20 @@ * that can be found in the LICENSE file. */ -package codegen.propertyCallableReference.varClass - import kotlin.test.* class A(var x: Int) -@Test fun runTest() { +fun box(): String { val p1 = A::x val a = A(42) p1.set(a, 117) - println(a.x) - println(p1.get(a)) + assertEquals(117, a.x) + assertEquals(117, p1.get(a)) val p2 = a::x p2.set(42) - println(a.x) - println(p2.get()) + assertEquals(42, a.x) + assertEquals(42, p2.get()) + + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/propertyCallableReference/varClass.out b/native/native.tests/testData/codegen/propertyCallableReference/varClass.out deleted file mode 100644 index 9b02e021d66..00000000000 --- a/native/native.tests/testData/codegen/propertyCallableReference/varClass.out +++ /dev/null @@ -1,4 +0,0 @@ -117 -117 -42 -42 diff --git a/native/native.tests/testData/codegen/propertyCallableReference/varExtension.kt b/native/native.tests/testData/codegen/propertyCallableReference/varExtension.kt index 4e2fba76601..d2de143f184 100644 --- a/native/native.tests/testData/codegen/propertyCallableReference/varExtension.kt +++ b/native/native.tests/testData/codegen/propertyCallableReference/varExtension.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.propertyCallableReference.varExtension - import kotlin.test.* class A(y: Int) { @@ -17,14 +15,16 @@ var A.z: Int this.x = value } -@Test fun runTest() { +fun box(): String { val p1 = A::z val a = A(42) p1.set(a, 117) - println(a.x) - println(p1.get(a)) + assertEquals(117, a.x) + assertEquals(117, p1.get(a)) val p2 = a::z p2.set(42) - println(a.x) - println(p2.get()) + assertEquals(42, a.x) + assertEquals(42, p2.get()) + + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/propertyCallableReference/varExtension.out b/native/native.tests/testData/codegen/propertyCallableReference/varExtension.out deleted file mode 100644 index 9b02e021d66..00000000000 --- a/native/native.tests/testData/codegen/propertyCallableReference/varExtension.out +++ /dev/null @@ -1,4 +0,0 @@ -117 -117 -42 -42 diff --git a/native/native.tests/testData/codegen/propertyCallableReference/varModule.kt b/native/native.tests/testData/codegen/propertyCallableReference/varModule.kt index c0316406ae8..4088a6b1388 100644 --- a/native/native.tests/testData/codegen/propertyCallableReference/varModule.kt +++ b/native/native.tests/testData/codegen/propertyCallableReference/varModule.kt @@ -3,15 +3,15 @@ * that can be found in the LICENSE file. */ -package codegen.propertyCallableReference.varModule - import kotlin.test.* var x = 42 -@Test fun runTest() { +fun box(): String { val p = ::x p.set(117) - println(x) - println(p.get()) + assertEquals(117, x) + assertEquals(117, p.get()) + + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/propertyCallableReference/varModule.out b/native/native.tests/testData/codegen/propertyCallableReference/varModule.out deleted file mode 100644 index efe626e6ae7..00000000000 --- a/native/native.tests/testData/codegen/propertyCallableReference/varModule.out +++ /dev/null @@ -1,2 +0,0 @@ -117 -117 diff --git a/native/native.tests/testData/codegen/stringTrim/stringTrim.kt b/native/native.tests/testData/codegen/stringTrim/stringTrim.kt index 50deb484e89..d7673a0e7e8 100644 --- a/native/native.tests/testData/codegen/stringTrim/stringTrim.kt +++ b/native/native.tests/testData/codegen/stringTrim/stringTrim.kt @@ -3,8 +3,6 @@ * that can be found in the LICENSE file. */ -package codegen.stringTrim.stringTrim - import kotlin.test.* // TODO: check IR @@ -22,9 +20,10 @@ fun constantMargin(): String { """.trimMargin() } -@Test -fun runTest() { +fun box(): String { assertTrue(constantIndent() === constantIndent()) assertTrue(constantMargin() === constantMargin()) + + return "OK" } diff --git a/native/native.tests/testData/codegen/try/catch3.kt b/native/native.tests/testData/codegen/try/catch3.kt index 5afc7f64e1b..8d723f1e47c 100644 --- a/native/native.tests/testData/codegen/try/catch3.kt +++ b/native/native.tests/testData/codegen/try/catch3.kt @@ -3,18 +3,26 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.catch3 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { try { - println("Before") + sb.appendLine("Before") throw Error("Error happens") - println("After") + sb.appendLine("After") } catch (e: Throwable) { - println("Caught Throwable") + sb.appendLine("Caught Throwable") } - println("Done") + sb.appendLine("Done") + + assertEquals(""" + Before + Caught Throwable + Done + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/catch3.out b/native/native.tests/testData/codegen/try/catch3.out deleted file mode 100644 index 6bd4ef2c642..00000000000 --- a/native/native.tests/testData/codegen/try/catch3.out +++ /dev/null @@ -1,3 +0,0 @@ -Before -Caught Throwable -Done diff --git a/native/native.tests/testData/codegen/try/catch4.kt b/native/native.tests/testData/codegen/try/catch4.kt index 99ed3677405..6b830f9dff1 100644 --- a/native/native.tests/testData/codegen/try/catch4.kt +++ b/native/native.tests/testData/codegen/try/catch4.kt @@ -3,22 +3,30 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.catch4 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { try { - println("Before") + sb.appendLine("Before") throw Error("Error happens") - println("After") + sb.appendLine("After") } catch (e: Exception) { - println("Caught Exception") + sb.appendLine("Caught Exception") } catch (e: Error) { - println("Caught Error") + sb.appendLine("Caught Error") } catch (e: Throwable) { - println("Caught Throwable") + sb.appendLine("Caught Throwable") } - println("Done") + sb.appendLine("Done") + + assertEquals(""" + Before + Caught Error + Done + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/catch4.out b/native/native.tests/testData/codegen/try/catch4.out deleted file mode 100644 index 5b328e91afc..00000000000 --- a/native/native.tests/testData/codegen/try/catch4.out +++ /dev/null @@ -1,3 +0,0 @@ -Before -Caught Error -Done diff --git a/native/native.tests/testData/codegen/try/catch5.kt b/native/native.tests/testData/codegen/try/catch5.kt index 87ab8fd14fa..2cc0524f452 100644 --- a/native/native.tests/testData/codegen/try/catch5.kt +++ b/native/native.tests/testData/codegen/try/catch5.kt @@ -3,32 +3,40 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.catch5 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { try { try { - println("Before") + sb.appendLine("Before") foo() - println("After") + sb.appendLine("After") } catch (e: Exception) { - println("Caught Exception") + sb.appendLine("Caught Exception") } - println("After nested try") + sb.appendLine("After nested try") } catch (e: Error) { - println("Caught Error") + sb.appendLine("Caught Error") } catch (e: Throwable) { - println("Caught Throwable") + sb.appendLine("Caught Throwable") } - println("Done") + sb.appendLine("Done") + + assertEquals(""" + Before + Caught Error + Done + + """.trimIndent(), sb.toString()) + return "OK" } fun foo() { throw Error("Error happens") - println("After in foo()") + sb.appendLine("After in foo()") } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/catch5.out b/native/native.tests/testData/codegen/try/catch5.out deleted file mode 100644 index 5b328e91afc..00000000000 --- a/native/native.tests/testData/codegen/try/catch5.out +++ /dev/null @@ -1,3 +0,0 @@ -Before -Caught Error -Done diff --git a/native/native.tests/testData/codegen/try/catch6.kt b/native/native.tests/testData/codegen/try/catch6.kt index 1e63115d598..ebbaab9a6f9 100644 --- a/native/native.tests/testData/codegen/try/catch6.kt +++ b/native/native.tests/testData/codegen/try/catch6.kt @@ -3,28 +3,36 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.catch6 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { try { - println("Before") + sb.appendLine("Before") foo() - println("After") + sb.appendLine("After") } catch (e: Exception) { - println("Caught Exception") + sb.appendLine("Caught Exception") } catch (e: Error) { - println("Caught Error") + sb.appendLine("Caught Error") } - println("Done") + sb.appendLine("Done") + + assertEquals(""" + Before + Caught Error + Done + + """.trimIndent(), sb.toString()) + return "OK" } fun foo() { try { throw Error("Error happens") } catch (e: Exception) { - println("Caught Exception") + sb.appendLine("Caught Exception") } } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/catch6.out b/native/native.tests/testData/codegen/try/catch6.out deleted file mode 100644 index 5b328e91afc..00000000000 --- a/native/native.tests/testData/codegen/try/catch6.out +++ /dev/null @@ -1,3 +0,0 @@ -Before -Caught Error -Done diff --git a/native/native.tests/testData/codegen/try/catch8.kt b/native/native.tests/testData/codegen/try/catch8.kt index 48649916a3a..785eca71f84 100644 --- a/native/native.tests/testData/codegen/try/catch8.kt +++ b/native/native.tests/testData/codegen/try/catch8.kt @@ -3,17 +3,23 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.catch8 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { try { throw Error("Error happens") } catch (e: Throwable) { val message = e.message if (message != null) { - println(message) + sb.appendLine(message) } } + + assertEquals(""" + Error happens + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/catch8.out b/native/native.tests/testData/codegen/try/catch8.out deleted file mode 100644 index a267b9d963b..00000000000 --- a/native/native.tests/testData/codegen/try/catch8.out +++ /dev/null @@ -1 +0,0 @@ -Error happens diff --git a/native/native.tests/testData/codegen/try/finally1.kt b/native/native.tests/testData/codegen/try/finally1.kt index b513bc84294..40cf69ae136 100644 --- a/native/native.tests/testData/codegen/try/finally1.kt +++ b/native/native.tests/testData/codegen/try/finally1.kt @@ -3,17 +3,25 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.finally1 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { try { - println("Try") + sb.appendLine("Try") } finally { - println("Finally") + sb.appendLine("Finally") } - println("Done") + sb.appendLine("Done") + + assertEquals(""" + Try + Finally + Done + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/finally1.out b/native/native.tests/testData/codegen/try/finally1.out deleted file mode 100644 index f4543f55b6e..00000000000 --- a/native/native.tests/testData/codegen/try/finally1.out +++ /dev/null @@ -1,3 +0,0 @@ -Try -Finally -Done diff --git a/native/native.tests/testData/codegen/try/finally10.kt b/native/native.tests/testData/codegen/try/finally10.kt index 4347a182901..fbeae103283 100644 --- a/native/native.tests/testData/codegen/try/finally10.kt +++ b/native/native.tests/testData/codegen/try/finally10.kt @@ -3,19 +3,26 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.finally10 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { while (true) { try { continue } finally { - println("Finally") + sb.appendLine("Finally") break } } - println("After") + sb.appendLine("After") + + assertEquals(""" + Finally + After + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/finally10.out b/native/native.tests/testData/codegen/try/finally10.out deleted file mode 100644 index 63caa041ba4..00000000000 --- a/native/native.tests/testData/codegen/try/finally10.out +++ /dev/null @@ -1,2 +0,0 @@ -Finally -After diff --git a/native/native.tests/testData/codegen/try/finally11.kt b/native/native.tests/testData/codegen/try/finally11.kt index 3ffdaf91786..48119b706e0 100644 --- a/native/native.tests/testData/codegen/try/finally11.kt +++ b/native/native.tests/testData/codegen/try/finally11.kt @@ -3,23 +3,35 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.finally11 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { + test() + + assertEquals(""" + Finally + Catch 2 + Done + + """.trimIndent(), sb.toString()) + return "OK" +} + +fun test() { try { try { return } catch (e: Error) { - println("Catch 1") + sb.appendLine("Catch 1") } finally { - println("Finally") + sb.appendLine("Finally") throw Error() } } catch (e: Error) { - println("Catch 2") + sb.appendLine("Catch 2") } - println("Done") + sb.appendLine("Done") } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/finally11.out b/native/native.tests/testData/codegen/try/finally11.out deleted file mode 100644 index ce12827782a..00000000000 --- a/native/native.tests/testData/codegen/try/finally11.out +++ /dev/null @@ -1,3 +0,0 @@ -Finally -Catch 2 -Done diff --git a/native/native.tests/testData/codegen/try/finally2.kt b/native/native.tests/testData/codegen/try/finally2.kt index 3aae9ba9c25..1d7bacee1e4 100644 --- a/native/native.tests/testData/codegen/try/finally2.kt +++ b/native/native.tests/testData/codegen/try/finally2.kt @@ -3,21 +3,30 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.finally2 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { try { - println("Try") + sb.appendLine("Try") throw Error("Error happens") - println("After throw") + sb.appendLine("After throw") } catch (e: Error) { - println("Caught Error") + sb.appendLine("Caught Error") } finally { - println("Finally") + sb.appendLine("Finally") } - println("Done") + sb.appendLine("Done") + + assertEquals(""" + Try + Caught Error + Finally + Done + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/finally2.out b/native/native.tests/testData/codegen/try/finally2.out deleted file mode 100644 index ad1ed092296..00000000000 --- a/native/native.tests/testData/codegen/try/finally2.out +++ /dev/null @@ -1,4 +0,0 @@ -Try -Caught Error -Finally -Done diff --git a/native/native.tests/testData/codegen/try/finally3.kt b/native/native.tests/testData/codegen/try/finally3.kt index 13faf1d7a0b..c0eef067a1c 100644 --- a/native/native.tests/testData/codegen/try/finally3.kt +++ b/native/native.tests/testData/codegen/try/finally3.kt @@ -3,26 +3,35 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.finally3 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { try { try { - println("Try") + sb.appendLine("Try") throw Error("Error happens") - println("After throw") + sb.appendLine("After throw") } finally { - println("Finally") + sb.appendLine("Finally") } - println("After nested try") + sb.appendLine("After nested try") } catch (e: Error) { - println("Caught Error") + sb.appendLine("Caught Error") } - println("Done") + sb.appendLine("Done") + + assertEquals(""" + Try + Finally + Caught Error + Done + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/finally3.out b/native/native.tests/testData/codegen/try/finally3.out deleted file mode 100644 index 7a5ea9e31b2..00000000000 --- a/native/native.tests/testData/codegen/try/finally3.out +++ /dev/null @@ -1,4 +0,0 @@ -Try -Finally -Caught Error -Done diff --git a/native/native.tests/testData/codegen/try/finally4.kt b/native/native.tests/testData/codegen/try/finally4.kt index 484ce7e76be..f894afe13a9 100644 --- a/native/native.tests/testData/codegen/try/finally4.kt +++ b/native/native.tests/testData/codegen/try/finally4.kt @@ -3,32 +3,42 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.finally4 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { try { try { - println("Try") + sb.appendLine("Try") throw Error("Error happens") - println("After throw") + sb.appendLine("After throw") } catch (e: Error) { - println("Catch") + sb.appendLine("Catch") throw Exception() - println("After throw") + sb.appendLine("After throw") } finally { - println("Finally") + sb.appendLine("Finally") } - println("After nested try") + sb.appendLine("After nested try") } catch (e: Error) { - println("Caught Error") + sb.appendLine("Caught Error") } catch (e: Exception) { - println("Caught Exception") + sb.appendLine("Caught Exception") } - println("Done") + sb.appendLine("Done") + + assertEquals(""" + Try + Catch + Finally + Caught Exception + Done + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/finally4.out b/native/native.tests/testData/codegen/try/finally4.out deleted file mode 100644 index bc0c64ef690..00000000000 --- a/native/native.tests/testData/codegen/try/finally4.out +++ /dev/null @@ -1,5 +0,0 @@ -Try -Catch -Finally -Caught Exception -Done diff --git a/native/native.tests/testData/codegen/try/finally5.kt b/native/native.tests/testData/codegen/try/finally5.kt index 8198d7ac0db..7c69526bcbd 100644 --- a/native/native.tests/testData/codegen/try/finally5.kt +++ b/native/native.tests/testData/codegen/try/finally5.kt @@ -3,22 +3,30 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.finally5 - import kotlin.test.* -@Test fun runTest() { - println(foo()) +val sb = StringBuilder() + +fun box(): String { + sb.appendLine(foo()) + + assertEquals(""" + Done + Finally + 0 + + """.trimIndent(), sb.toString()) + return "OK" } fun foo(): Int { try { - println("Done") + sb.appendLine("Done") return 0 } finally { - println("Finally") + sb.appendLine("Finally") } - println("After") + sb.appendLine("After") return 1 } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/finally5.out b/native/native.tests/testData/codegen/try/finally5.out deleted file mode 100644 index 0b2daf4d255..00000000000 --- a/native/native.tests/testData/codegen/try/finally5.out +++ /dev/null @@ -1,3 +0,0 @@ -Done -Finally -0 diff --git a/native/native.tests/testData/codegen/try/finally6.kt b/native/native.tests/testData/codegen/try/finally6.kt index f746fd1ddff..1ef5a0cf1ff 100644 --- a/native/native.tests/testData/codegen/try/finally6.kt +++ b/native/native.tests/testData/codegen/try/finally6.kt @@ -3,23 +3,31 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.finally6 - import kotlin.test.* -@Test fun runTest() { - println(foo()) +val sb = StringBuilder() + +fun box(): String { + sb.appendLine(foo()) + + assertEquals(""" + Done + Finally + 1 + + """.trimIndent(), sb.toString()) + return "OK" } fun foo(): Int { try { - println("Done") + sb.appendLine("Done") return 0 } finally { - println("Finally") + sb.appendLine("Finally") return 1 } - println("After") + sb.appendLine("After") return 2 } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/finally6.out b/native/native.tests/testData/codegen/try/finally6.out deleted file mode 100644 index 47059408287..00000000000 --- a/native/native.tests/testData/codegen/try/finally6.out +++ /dev/null @@ -1,3 +0,0 @@ -Done -Finally -1 diff --git a/native/native.tests/testData/codegen/try/finally7.kt b/native/native.tests/testData/codegen/try/finally7.kt index 190e7245a39..55956e076e5 100644 --- a/native/native.tests/testData/codegen/try/finally7.kt +++ b/native/native.tests/testData/codegen/try/finally7.kt @@ -3,23 +3,30 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.finally7 - import kotlin.test.* -@Test fun runTest() { - println(foo()) +val sb = StringBuilder() + +fun box(): String { + sb.appendLine(foo()) + assertEquals(""" + Done + Finally + 1 + + """.trimIndent(), sb.toString()) + return "OK" } fun foo(): Int { try { - println("Done") + sb.appendLine("Done") throw Error() } finally { - println("Finally") + sb.appendLine("Finally") return 1 } - println("After") + sb.appendLine("After") return 2 } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/finally7.out b/native/native.tests/testData/codegen/try/finally7.out deleted file mode 100644 index 47059408287..00000000000 --- a/native/native.tests/testData/codegen/try/finally7.out +++ /dev/null @@ -1,3 +0,0 @@ -Done -Finally -1 diff --git a/native/native.tests/testData/codegen/try/finally8.kt b/native/native.tests/testData/codegen/try/finally8.kt index c6c8c201880..f2234c7ac5c 100644 --- a/native/native.tests/testData/codegen/try/finally8.kt +++ b/native/native.tests/testData/codegen/try/finally8.kt @@ -3,12 +3,20 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.finally8 - import kotlin.test.* -@Test fun runTest() { - println(foo()) +val sb = StringBuilder() + +fun box(): String { + sb.appendLine(foo()) + + assertEquals(""" + Finally 1 + Finally 2 + 42 + + """.trimIndent(), sb.toString()) + return "OK" } fun foo(): Int { @@ -16,12 +24,12 @@ fun foo(): Int { try { return 42 } finally { - println("Finally 1") + sb.appendLine("Finally 1") } } finally { - println("Finally 2") + sb.appendLine("Finally 2") } - println("After") + sb.appendLine("After") return 2 } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/finally8.out b/native/native.tests/testData/codegen/try/finally8.out deleted file mode 100644 index 3689d4c0f5a..00000000000 --- a/native/native.tests/testData/codegen/try/finally8.out +++ /dev/null @@ -1,3 +0,0 @@ -Finally 1 -Finally 2 -42 diff --git a/native/native.tests/testData/codegen/try/finally9.kt b/native/native.tests/testData/codegen/try/finally9.kt index b3d35de9b72..459a2005a29 100644 --- a/native/native.tests/testData/codegen/try/finally9.kt +++ b/native/native.tests/testData/codegen/try/finally9.kt @@ -3,16 +3,16 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.finally9 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { do { try { break } finally { - println("Finally 1") + sb.appendLine("Finally 1") } } while (false) @@ -22,9 +22,17 @@ import kotlin.test.* stop = true continue } finally { - println("Finally 2") + sb.appendLine("Finally 2") } } - println("After") + sb.appendLine("After") + + assertEquals(""" + Finally 1 + Finally 2 + After + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/finally9.out b/native/native.tests/testData/codegen/try/finally9.out deleted file mode 100644 index 9952236e75d..00000000000 --- a/native/native.tests/testData/codegen/try/finally9.out +++ /dev/null @@ -1,3 +0,0 @@ -Finally 1 -Finally 2 -After diff --git a/native/native.tests/testData/codegen/try/returnsDifferentTypes.kt b/native/native.tests/testData/codegen/try/returnsDifferentTypes.kt index 11ec87b7541..7a1cd2b6f8c 100644 --- a/native/native.tests/testData/codegen/try/returnsDifferentTypes.kt +++ b/native/native.tests/testData/codegen/try/returnsDifferentTypes.kt @@ -3,10 +3,10 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.returnsDifferentTypes - import kotlin.test.* +val sb = StringBuilder() + class ReceiveChannel inline fun ReceiveChannel.consume(block: ReceiveChannel.() -> R): R { @@ -14,7 +14,7 @@ inline fun ReceiveChannel.consume(block: ReceiveChannel.() -> R): R return block() } finally { - println("zzz") + sb.appendLine("zzz") } } @@ -28,6 +28,13 @@ inline fun ReceiveChannel.elementAtOrElse(index: Int, defaultValue: (Int) fun ReceiveChannel.elementAt(index: Int): E = elementAtOrElse(index) { throw IndexOutOfBoundsException("qxx") } -@Test fun runTest() { - println(ReceiveChannel().elementAt(0)) +fun box(): String { + sb.appendLine(ReceiveChannel().elementAt(0)) + + assertEquals(""" + zzz + 42 + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/returnsDifferentTypes.out b/native/native.tests/testData/codegen/try/returnsDifferentTypes.out deleted file mode 100644 index cd802af9bb3..00000000000 --- a/native/native.tests/testData/codegen/try/returnsDifferentTypes.out +++ /dev/null @@ -1,2 +0,0 @@ -zzz -42 diff --git a/native/native.tests/testData/codegen/try/try1.kt b/native/native.tests/testData/codegen/try/try1.kt index 632d452f755..f8aa8951269 100644 --- a/native/native.tests/testData/codegen/try/try1.kt +++ b/native/native.tests/testData/codegen/try/try1.kt @@ -3,16 +3,15 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.try1 - import kotlin.test.* -@Test fun runTest() { +fun box(): String { val x = try { 5 } catch (e: Throwable) { 6 } - println(x) + assertEquals(5, x) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/try1.out b/native/native.tests/testData/codegen/try/try1.out deleted file mode 100644 index 7ed6ff82de6..00000000000 --- a/native/native.tests/testData/codegen/try/try1.out +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/native/native.tests/testData/codegen/try/try2.kt b/native/native.tests/testData/codegen/try/try2.kt index b0c3c00d8b7..fe00c576e96 100644 --- a/native/native.tests/testData/codegen/try/try2.kt +++ b/native/native.tests/testData/codegen/try/try2.kt @@ -3,11 +3,9 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.try2 - import kotlin.test.* -@Test fun runTest() { +fun box(): String { val x = try { throw Error() 5 @@ -15,5 +13,6 @@ import kotlin.test.* 6 } - println(x) + assertEquals(6, x) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/try2.out b/native/native.tests/testData/codegen/try/try2.out deleted file mode 100644 index 1e8b3149621..00000000000 --- a/native/native.tests/testData/codegen/try/try2.out +++ /dev/null @@ -1 +0,0 @@ -6 diff --git a/native/native.tests/testData/codegen/try/try3.kt b/native/native.tests/testData/codegen/try/try3.kt index 890fbb01d56..5e8887b0c97 100644 --- a/native/native.tests/testData/codegen/try/try3.kt +++ b/native/native.tests/testData/codegen/try/try3.kt @@ -3,16 +3,15 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.try3 - import kotlin.test.* -@Test fun runTest() { +fun box(): String { val x = try { throw Error() } catch (e: Throwable) { 6 } - println(x) + assertEquals(6, x) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/try3.out b/native/native.tests/testData/codegen/try/try3.out deleted file mode 100644 index 1e8b3149621..00000000000 --- a/native/native.tests/testData/codegen/try/try3.out +++ /dev/null @@ -1 +0,0 @@ -6 diff --git a/native/native.tests/testData/codegen/try/try4.kt b/native/native.tests/testData/codegen/try/try4.kt index 2c8357171f4..d13c4f7089f 100644 --- a/native/native.tests/testData/codegen/try/try4.kt +++ b/native/native.tests/testData/codegen/try/try4.kt @@ -3,17 +3,24 @@ * that can be found in the LICENSE file. */ -package codegen.`try`.try4 - import kotlin.test.* -@Test fun runTest() { +val sb = StringBuilder() + +fun box(): String { val x = try { - println("Try") + sb.appendLine("Try") 5 } catch (e: Throwable) { throw e } - println(x) + sb.appendLine(x) + + assertEquals(""" + Try + 5 + + """.trimIndent(), sb.toString()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/testData/codegen/try/try4.out b/native/native.tests/testData/codegen/try/try4.out deleted file mode 100644 index 454a56d1704..00000000000 --- a/native/native.tests/testData/codegen/try/try4.out +++ /dev/null @@ -1,2 +0,0 @@ -Try -5 diff --git a/native/native.tests/testData/codegen/vector/default_argument.kt b/native/native.tests/testData/codegen/vector/default_argument.kt index 0ca44eb7036..90d2b02674c 100644 --- a/native/native.tests/testData/codegen/vector/default_argument.kt +++ b/native/native.tests/testData/codegen/vector/default_argument.kt @@ -3,15 +3,13 @@ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class) - -package codegen.vector.default_argument - import kotlin.test.* import kotlinx.cinterop.Vector128 import kotlinx.cinterop.vectorOf private fun funDefaultValue(v: Vector128 = vectorOf(1.0f, 2.0f, 3.0f, 4.0f)) = v -@Test fun runTest() { +fun box(): String { assertEquals(vectorOf(1.0f, 2.0f, 3.0f, 4.0f), funDefaultValue()) + return "OK" } \ No newline at end of file diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenLocalTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenLocalTestGenerated.java index 49acfffe775..e4a9e62bf3c 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenLocalTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenLocalTestGenerated.java @@ -2613,6 +2613,18 @@ public class FirNativeCodegenLocalTestGenerated extends AbstractNativeCodegenBox KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/kclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); } + @Test + @TestMetadata("anonymousObjectInInlineFunction.kt") + public void testAnonymousObjectInInlineFunction() throws Exception { + runTest("native/native.tests/testData/codegen/kclass/anonymousObjectInInlineFunction.kt"); + } + + @Test + @TestMetadata("anonymousObjectInInlineFunctionWithCache.kt") + public void testAnonymousObjectInInlineFunctionWithCache() throws Exception { + runTest("native/native.tests/testData/codegen/kclass/anonymousObjectInInlineFunctionWithCache.kt"); + } + @Test @TestMetadata("kClassEnumArgument.kt") public void testKClassEnumArgument() throws Exception { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenLocalTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenLocalTestGenerated.java index 3399c63c8ad..9a88c5a722f 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenLocalTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenLocalTestGenerated.java @@ -2555,6 +2555,18 @@ public class NativeCodegenLocalTestGenerated extends AbstractNativeCodegenBoxTes KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/kclass"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); } + @Test + @TestMetadata("anonymousObjectInInlineFunction.kt") + public void testAnonymousObjectInInlineFunction() throws Exception { + runTest("native/native.tests/testData/codegen/kclass/anonymousObjectInInlineFunction.kt"); + } + + @Test + @TestMetadata("anonymousObjectInInlineFunctionWithCache.kt") + public void testAnonymousObjectInInlineFunctionWithCache() throws Exception { + runTest("native/native.tests/testData/codegen/kclass/anonymousObjectInInlineFunctionWithCache.kt"); + } + @Test @TestMetadata("kClassEnumArgument.kt") public void testKClassEnumArgument() throws Exception {