From 8dcb763eca75f0c9a81b6623351ebbb7e14d10b6 Mon Sep 17 00:00:00 2001 From: Pavel Punegov Date: Mon, 12 Feb 2024 12:56:42 +0100 Subject: [PATCH] [K/N][test] Reset state in StateMachineChecker before the test boxInline tests for suspend use StateMachineChecker and share the state if compiled and run together. The single value accessed from all tests. It is enough to reset state before the test is run. --- .../suspend/stateMachine/crossingCoroutineBoundaries.kt | 1 + .../codegen/boxInline/suspend/stateMachine/independentInline.kt | 1 + .../codegen/boxInline/suspend/stateMachine/innerLambda.kt | 1 + .../boxInline/suspend/stateMachine/innerLambdaInsideLambda.kt | 1 + .../suspend/stateMachine/innerLambdaWithoutCrossinline.kt | 1 + .../codegen/boxInline/suspend/stateMachine/innerMadness.kt | 1 + .../boxInline/suspend/stateMachine/innerMadnessCallSite.kt | 1 + .../codegen/boxInline/suspend/stateMachine/innerObject.kt | 1 + .../suspend/stateMachine/innerObjectInsideInnerObject.kt | 1 + .../suspend/stateMachine/innerObjectRetransformation.kt | 1 + .../suspend/stateMachine/innerObjectSeveralFunctions.kt | 1 + .../stateMachine/innerObjectWithoutCapturingCrossinline.kt | 1 + .../codegen/boxInline/suspend/stateMachine/insideObject.kt | 1 + .../testData/codegen/boxInline/suspend/stateMachine/kt30708.kt | 1 + .../boxInline/suspend/stateMachine/lambdaTransformation.kt | 1 + .../codegen/boxInline/suspend/stateMachine/normalInline.kt | 1 + .../boxInline/suspend/stateMachine/numberOfSuspentions.kt | 1 + .../boxInline/suspend/stateMachine/objectInsideLambdas.kt | 1 + .../boxInline/suspend/stateMachine/oneInlineTwoCaptures.kt | 1 + .../codegen/boxInline/suspend/stateMachine/passLambda.kt | 1 + .../codegen/boxInline/suspend/stateMachine/passParameter.kt | 1 + .../boxInline/suspend/stateMachine/passParameterLambda.kt | 1 + .../boxInline/suspend/stateMachine/unreachableSuspendMarker.kt | 1 + 23 files changed, 23 insertions(+) diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/crossingCoroutineBoundaries.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/crossingCoroutineBoundaries.kt index a5765bf94cd..210e9627743 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/crossingCoroutineBoundaries.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/crossingCoroutineBoundaries.kt @@ -47,6 +47,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() builder { inlineMe { StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/independentInline.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/independentInline.kt index df26ba75e75..74ae3cdb986 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/independentInline.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/independentInline.kt @@ -47,6 +47,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() val r = inlineMe { StateMachineChecker.suspendHere() StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerLambda.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerLambda.kt index 24752ddb469..0345f9864e9 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerLambda.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerLambda.kt @@ -23,6 +23,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() builder { crossinlineMe { StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerLambdaInsideLambda.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerLambdaInsideLambda.kt index d61d044d1de..d1b601d271a 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerLambdaInsideLambda.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerLambdaInsideLambda.kt @@ -27,6 +27,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() builder { crossinlineMe { StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerLambdaWithoutCrossinline.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerLambdaWithoutCrossinline.kt index e45dd8f724f..6f62024ebd0 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerLambdaWithoutCrossinline.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerLambdaWithoutCrossinline.kt @@ -28,6 +28,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() var res = "OK" builder { crossinlineMe { diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerMadness.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerMadness.kt index 6aebfc5c96b..8f50c71ea4b 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerMadness.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerMadness.kt @@ -53,6 +53,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() builder { crossinlineMe { StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerMadnessCallSite.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerMadnessCallSite.kt index d9ea5a53c58..135cffb24c0 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerMadnessCallSite.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerMadnessCallSite.kt @@ -27,6 +27,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() builder { crossinlineMe { val sr = object: SuspendRunnable { diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObject.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObject.kt index 65c7925838c..31dc85482a5 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObject.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObject.kt @@ -29,6 +29,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() builder { crossinlineMe { StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectInsideInnerObject.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectInsideInnerObject.kt index 027540fb013..c3f077bde24 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectInsideInnerObject.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectInsideInnerObject.kt @@ -35,6 +35,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() builder { crossinlineMe { StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectRetransformation.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectRetransformation.kt index 96e262739c1..d1948af2dd9 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectRetransformation.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectRetransformation.kt @@ -68,6 +68,7 @@ suspend fun check() { } fun box(): String { + StateMachineChecker.reset() builder { check() } diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectSeveralFunctions.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectSeveralFunctions.kt index 51e9f38dfb9..2233dd149fa 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectSeveralFunctions.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectSeveralFunctions.kt @@ -39,6 +39,7 @@ suspend fun incrementJ() { } fun box(): String { + StateMachineChecker.reset() builder { crossinlineMe({ StateMachineChecker.suspendHere() }) { incrementJ() } } diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectWithoutCapturingCrossinline.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectWithoutCapturingCrossinline.kt index 3db3ef50cfc..fca10700c89 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectWithoutCapturingCrossinline.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/innerObjectWithoutCapturingCrossinline.kt @@ -33,6 +33,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() var res = "OK" builder { crossinlineMe { diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/insideObject.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/insideObject.kt index 5c97a432cd6..736f67f741a 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/insideObject.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/insideObject.kt @@ -36,6 +36,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() builder { R().run() } diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/kt30708.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/kt30708.kt index fde9b772f72..b3f406eff94 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/kt30708.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/kt30708.kt @@ -32,6 +32,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() val r = inlineMe2 { StateMachineChecker.suspendHere() it diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/lambdaTransformation.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/lambdaTransformation.kt index 732a390a469..ca7236c83fc 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/lambdaTransformation.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/lambdaTransformation.kt @@ -44,6 +44,7 @@ class Sample { } fun box(): String { + StateMachineChecker.reset() Sample().test() StateMachineChecker.check(0, checkFinished = false) return "OK" diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/normalInline.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/normalInline.kt index eb545039e50..97f9a3e5cc5 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/normalInline.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/normalInline.kt @@ -19,6 +19,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() builder { crossinlineMe { StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/numberOfSuspentions.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/numberOfSuspentions.kt index 5231e1359f9..38ffb6e2c00 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/numberOfSuspentions.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/numberOfSuspentions.kt @@ -23,6 +23,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() builder { crossinlineMe2 { StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/objectInsideLambdas.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/objectInsideLambdas.kt index 9359c2a5668..8a1d2e5a83b 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/objectInsideLambdas.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/objectInsideLambdas.kt @@ -29,6 +29,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() builder { inlineMe { StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/oneInlineTwoCaptures.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/oneInlineTwoCaptures.kt index da0383c856c..fa37309cfc8 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/oneInlineTwoCaptures.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/oneInlineTwoCaptures.kt @@ -31,6 +31,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() val r = inlineMe( { StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/passLambda.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/passLambda.kt index 7b3b141979e..90d79a2e9b2 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/passLambda.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/passLambda.kt @@ -66,6 +66,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() val lambda = suspend { StateMachineChecker.suspendHere() StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/passParameter.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/passParameter.kt index 1eb25bdf0ed..8ddd3b6e899 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/passParameter.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/passParameter.kt @@ -38,6 +38,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() val r = inlineMe2 { StateMachineChecker.suspendHere() StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/passParameterLambda.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/passParameterLambda.kt index 2a271b8440d..418cfc15c59 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/passParameterLambda.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/passParameterLambda.kt @@ -19,6 +19,7 @@ fun builder(c: suspend () -> Unit) { } fun box(): String { + StateMachineChecker.reset() val r = inlineMe2 { StateMachineChecker.suspendHere() StateMachineChecker.suspendHere() diff --git a/compiler/testData/codegen/boxInline/suspend/stateMachine/unreachableSuspendMarker.kt b/compiler/testData/codegen/boxInline/suspend/stateMachine/unreachableSuspendMarker.kt index 5c822285128..15c10edf620 100644 --- a/compiler/testData/codegen/boxInline/suspend/stateMachine/unreachableSuspendMarker.kt +++ b/compiler/testData/codegen/boxInline/suspend/stateMachine/unreachableSuspendMarker.kt @@ -33,6 +33,7 @@ suspend fun withoutTryCatch(): String { } fun box(): String { + StateMachineChecker.reset() var result = "FAIL 0" builder { result = try {