[Tets] Add test for KT-44604

^KT-44604
diff --git a/compiler/testData/klib/evolution/changeFunctionReturnType.kt b/compiler/testData/klib/evolution/changeFunctionReturnType.kt
new file mode 100644
index 0000000..5c294e1
--- /dev/null
+++ b/compiler/testData/klib/evolution/changeFunctionReturnType.kt
@@ -0,0 +1,25 @@
+// KT-44604: expected:<[OK]> but was:<[19]>
+// IGNORE_BACKEND: JS_IR
+// KT-44604: compilation failed: Failed IR validation BEFORE Compiler Phase @LowerBeforeInline
+// IGNORE_BACKEND: NATIVE
+
+// MODULE: lib
+// FILE: A.kt
+// VERSION: 1
+
+fun qux(): String  = "OK"
+
+// FILE: B.kt
+// VERSION: 2
+
+fun qux(): Int = 19
+
+// MODULE: mainLib(lib)
+// FILE: mainLib.kt
+fun lib(): String {
+    return qux()
+}
+
+// MODULE: main(mainLib)
+// FILE: main.kt
+fun box(): String = lib()
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/klib/ClassicJsKlibEvolutionTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/klib/ClassicJsKlibEvolutionTestGenerated.java
index 40ffada..8ffed68 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/klib/ClassicJsKlibEvolutionTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/klib/ClassicJsKlibEvolutionTestGenerated.java
@@ -110,6 +110,11 @@
     runTest("compiler/testData/klib/evolution/changeConstInitialization.kt");
   }
 
+  @TestMetadata("changeFunctionReturnType.kt")
+  public void testChangeFunctionReturnType() {
+    runTest("compiler/testData/klib/evolution/changeFunctionReturnType.kt");
+  }
+
   @TestMetadata("changeNamesOfTypeParameters.kt")
   public void testChangeNamesOfTypeParameters() {
     runTest("compiler/testData/klib/evolution/changeNamesOfTypeParameters.kt");
diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/klib/FirJsKlibEvolutionTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/klib/FirJsKlibEvolutionTestGenerated.java
index 156f38e..ae5a4b8 100644
--- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/klib/FirJsKlibEvolutionTestGenerated.java
+++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testOld/klib/FirJsKlibEvolutionTestGenerated.java
@@ -110,6 +110,11 @@
     runTest("compiler/testData/klib/evolution/changeConstInitialization.kt");
   }
 
+  @TestMetadata("changeFunctionReturnType.kt")
+  public void testChangeFunctionReturnType() {
+    runTest("compiler/testData/klib/evolution/changeFunctionReturnType.kt");
+  }
+
   @TestMetadata("changeNamesOfTypeParameters.kt")
   public void testChangeNamesOfTypeParameters() {
     runTest("compiler/testData/klib/evolution/changeNamesOfTypeParameters.kt");
diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeKlibEvolutionTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeKlibEvolutionTestGenerated.java
index c8a99e0..71bd202 100644
--- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeKlibEvolutionTestGenerated.java
+++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeKlibEvolutionTestGenerated.java
@@ -124,6 +124,12 @@
   }
 
   @Test
+  @TestMetadata("changeFunctionReturnType.kt")
+  public void testChangeFunctionReturnType() {
+    runTest("compiler/testData/klib/evolution/changeFunctionReturnType.kt");
+  }
+
+  @Test
   @TestMetadata("changeNamesOfTypeParameters.kt")
   public void testChangeNamesOfTypeParameters() {
     runTest("compiler/testData/klib/evolution/changeNamesOfTypeParameters.kt");
diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeKlibEvolutionTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeKlibEvolutionTestGenerated.java
index c0fb131..fde33cf 100644
--- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeKlibEvolutionTestGenerated.java
+++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeKlibEvolutionTestGenerated.java
@@ -120,6 +120,12 @@
   }
 
   @Test
+  @TestMetadata("changeFunctionReturnType.kt")
+  public void testChangeFunctionReturnType() {
+    runTest("compiler/testData/klib/evolution/changeFunctionReturnType.kt");
+  }
+
+  @Test
   @TestMetadata("changeNamesOfTypeParameters.kt")
   public void testChangeNamesOfTypeParameters() {
     runTest("compiler/testData/klib/evolution/changeNamesOfTypeParameters.kt");
diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeKlibEvolutionTest.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeKlibEvolutionTest.kt
index f6d5e5c..8b0cfe6 100644
--- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeKlibEvolutionTest.kt
+++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeKlibEvolutionTest.kt
@@ -20,6 +20,8 @@
 import org.jetbrains.kotlin.konan.test.blackbox.support.settings.*
 import org.jetbrains.kotlin.konan.test.blackbox.support.util.*
 import org.jetbrains.kotlin.test.Directives
+import org.jetbrains.kotlin.test.KotlinTestUtils
+import org.jetbrains.kotlin.test.TargetBackend
 import org.jetbrains.kotlin.utils.DFS
 import org.junit.jupiter.api.Assumptions
 import org.junit.jupiter.api.Tag
@@ -42,6 +44,10 @@
 
     protected fun runTest(@TestDataFile testPath: String) {
         Assumptions.assumeFalse(isIgnoredTest(testPath))
+        KotlinTestUtils.runTest0(this::doTest, TargetBackend.NATIVE, testPath) // Respects `// IGNORE_BACKEND*` directives
+    }
+
+    private fun doTest(testPath: String) {
         AbstractKlibBinaryCompatibilityTest.doTest(
             filePath = testPath,
             expectedResult = "OK",