From 2531c34b6457e0d4fa5694dc1849f3f4fe7245fc Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Mon, 5 Dec 2016 13:34:10 +0700 Subject: [PATCH] backend: add two more tests for `finally` --- backend.native/tests/build.gradle | 10 ++++++++++ backend.native/tests/codegen/try/finally10.kt | 12 ++++++++++++ backend.native/tests/codegen/try/finally11.kt | 16 ++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 backend.native/tests/codegen/try/finally10.kt create mode 100644 backend.native/tests/codegen/try/finally11.kt diff --git a/backend.native/tests/build.gradle b/backend.native/tests/build.gradle index f37e65ca731..cd44549a5fc 100644 --- a/backend.native/tests/build.gradle +++ b/backend.native/tests/build.gradle @@ -579,6 +579,16 @@ task finally9(type: RunKonanTest) { source = "codegen/try/finally9.kt" } +task finally10(type: RunKonanTest) { + goldValue = "Finally\nAfter\n" + source = "codegen/try/finally10.kt" +} + +task finally11(type: RunKonanTest) { + goldValue = "Finally\nCatch 2\nDone\n" + source = "codegen/try/finally11.kt" +} + task scope1(type: RunKonanTest) { goldValue = "1\n" source = "codegen/dataflow/scope1.kt" diff --git a/backend.native/tests/codegen/try/finally10.kt b/backend.native/tests/codegen/try/finally10.kt new file mode 100644 index 00000000000..8002437f697 --- /dev/null +++ b/backend.native/tests/codegen/try/finally10.kt @@ -0,0 +1,12 @@ +fun main(args : Array) { + while (true) { + try { + continue + } finally { + println("Finally") + break + } + } + + println("After") +} \ No newline at end of file diff --git a/backend.native/tests/codegen/try/finally11.kt b/backend.native/tests/codegen/try/finally11.kt new file mode 100644 index 00000000000..dd630d4df17 --- /dev/null +++ b/backend.native/tests/codegen/try/finally11.kt @@ -0,0 +1,16 @@ +fun main(args : Array) { + try { + try { + return + } catch (e: Error) { + println("Catch 1") + } finally { + println("Finally") + throw Error() + } + } catch (e: Error) { + println("Catch 2") + } + + println("Done") +} \ No newline at end of file