[IR][tests] More precise IrLinkageError checks

This commit is contained in:
Dmitriy Dolovov
2022-04-25 12:38:06 +03:00
parent 49f80b207a
commit df909abaf5
5 changed files with 30 additions and 16 deletions
@@ -2,8 +2,8 @@
fun test1(d: D): String {
try {
d.bar()
} catch(ex: Throwable) {
return "O"
} catch(e: Throwable) {
if (e.isLinkageError("/E.<init>")) return "O"
}
return "FAIL2"
@@ -16,4 +16,7 @@ fun test2(d: D): String {
fun box(): String {
return test1(D()) + test2(D())
}
}
private fun Throwable.isLinkageError(symbolName: String): Boolean =
this::class.simpleName == "IrLinkageError" && message?.startsWith("Unlinked IR symbol $symbolName|") == true
@@ -2,8 +2,8 @@
fun test1(d: D): String {
try {
d.bar()
} catch(ex: Throwable) {
return "O"
} catch(e: Throwable) {
if (e.isLinkageError("/D.exp")) return "O"
}
return "FAIL2"
@@ -16,4 +16,7 @@ fun test2(d: D): String {
fun box(): String {
return test1(D()) + test2(D())
}
}
private fun Throwable.isLinkageError(symbolName: String): Boolean =
this::class.simpleName == "IrLinkageError" && message?.startsWith("Unlinked type in signature of IR symbol $symbolName|") == true
@@ -2,8 +2,8 @@
fun test1(d: D): String {
try {
d.bar()
} catch(ex: Throwable) {
return "O"
} catch(e: Throwable) {
if (e.isLinkageError("/D.exp")) return "O"
}
return "FAIL2"
@@ -16,4 +16,7 @@ fun test2(d: D): String {
fun box(): String {
return test1(D()) + test2(D())
}
}
private fun Throwable.isLinkageError(symbolName: String): Boolean =
this::class.simpleName == "IrLinkageError" && message?.startsWith("Unlinked type in signature of IR symbol $symbolName|") == true
@@ -2,8 +2,8 @@
fun test1(d: D): String {
try {
d.bar()
} catch(ex: Throwable) {
return "O"
} catch(e: Throwable) {
if (e.isLinkageError("/D.exp")) return "O"
}
return "FAIL2"
@@ -16,4 +16,7 @@ fun test2(d: D): String {
fun box(): String {
return test1(D()) + test2(D())
}
}
private fun Throwable.isLinkageError(symbolName: String): Boolean =
this::class.simpleName == "IrLinkageError" && message?.startsWith("Unlinked type in signature of IR symbol $symbolName|") == true
+6 -4
View File
@@ -1,9 +1,8 @@
fun test1(): String {
try {
return qux(true)
} catch(ex: Throwable) {
return "O"
} catch(e: Throwable) {
if (e.isLinkageError("/exp_foo")) return "O"
}
return "FAIL2"
@@ -13,4 +12,7 @@ fun test2(): String = qux(false)
fun box(): String {
return test1() + test2()
}
}
private fun Throwable.isLinkageError(symbolName: String): Boolean =
this::class.simpleName == "IrLinkageError" && message?.startsWith("Unlinked IR symbol $symbolName|") == true