backend: add tests:
* test for uninitialized vals * test initializers3: global `var` of reference type * expression_as_statement (disabled): using type operator as statement Also enable test break1.
This commit is contained in:
@@ -681,6 +681,11 @@ task scope1(type: RunKonanTest) {
|
||||
source = "codegen/dataflow/scope1.kt"
|
||||
}
|
||||
|
||||
task uninitialized_val(type: RunKonanTest) {
|
||||
goldValue = "1\n2\n"
|
||||
source = "codegen/dataflow/uninitialized_val.kt"
|
||||
}
|
||||
|
||||
task try1(type: RunKonanTest) {
|
||||
goldValue = "5\n"
|
||||
source = "codegen/try/try1.kt"
|
||||
@@ -712,7 +717,6 @@ task break_continue(type: RunKonanTest) {
|
||||
}
|
||||
|
||||
task break1(type: RunKonanTest) {
|
||||
disabled = true
|
||||
goldValue = "Body\nDone\n"
|
||||
source = "codegen/controlflow/break1.kt"
|
||||
}
|
||||
@@ -842,3 +846,14 @@ task initializers2(type: RunKonanTest) {
|
||||
"globalValue3\n"
|
||||
source = "runtime/basic/initializers2.kt"
|
||||
}
|
||||
|
||||
task initializers3(type: RunKonanTest) {
|
||||
goldValue = "42\n"
|
||||
source = "runtime/basic/initializers3.kt"
|
||||
}
|
||||
|
||||
task expression_as_statement(type: RunKonanTest) {
|
||||
disabled = true
|
||||
goldValue = "Ok\n"
|
||||
source = "codegen/basics/expression_as_statement.kt"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fun foo() {
|
||||
Any() as String
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
try {
|
||||
foo()
|
||||
} catch (e: Throwable) {
|
||||
println("Ok")
|
||||
return
|
||||
}
|
||||
|
||||
println("Fail")
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
fun foo(b: Boolean): Int {
|
||||
val x: Int
|
||||
if (b) {
|
||||
x = 1
|
||||
} else {
|
||||
x = 2
|
||||
}
|
||||
|
||||
return x
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val uninitializedUnused: Int
|
||||
|
||||
println(foo(true))
|
||||
println(foo(false))
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
class Foo(val bar: Int)
|
||||
|
||||
var x = Foo(42)
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
println(x.bar)
|
||||
}
|
||||
Reference in New Issue
Block a user