[K/N] Adjust moved special backend checks tests

^KT-61564
This commit is contained in:
Vladimir Sukharev
2023-11-10 13:07:12 +01:00
committed by Space Team
parent 8f12bf6cc8
commit 08bc0a6bd0
74 changed files with 2155 additions and 19 deletions
@@ -115,4 +115,464 @@ public class LLFirNativeTestGenerated extends AbstractLLFirNativeTest {
public void testTopLevelSingleton() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/topLevelSingleton.kt");
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class SpecialBackendChecks {
@Test
public void testAllFilesPresentInSpecialBackendChecks() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class CInterop {
@Test
public void testAllFilesPresentInCInterop() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t1.kt")
public void testT1() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t1.kt");
}
@Test
@TestMetadata("t10.kt")
public void testT10() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t10.kt");
}
@Test
@TestMetadata("t11.kt")
public void testT11() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t11.kt");
}
@Test
@TestMetadata("t12.kt")
public void testT12() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t12.kt");
}
@Test
@TestMetadata("t13.kt")
public void testT13() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t13.kt");
}
@Test
@TestMetadata("t14.kt")
public void testT14() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t14.kt");
}
@Test
@TestMetadata("t37.kt")
public void testT37() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t37.kt");
}
@Test
@TestMetadata("t38.kt")
public void testT38() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t38.kt");
}
@Test
@TestMetadata("t40.kt")
public void testT40() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t40.kt");
}
@Test
@TestMetadata("t41.kt")
public void testT41() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t41.kt");
}
@Test
@TestMetadata("t42.kt")
public void testT42() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t42.kt");
}
@Test
@TestMetadata("t43.kt")
public void testT43() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t43.kt");
}
@Test
@TestMetadata("t44.kt")
public void testT44() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t44.kt");
}
@Test
@TestMetadata("t45.kt")
public void testT45() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t45.kt");
}
@Test
@TestMetadata("t46.kt")
public void testT46() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t46.kt");
}
@Test
@TestMetadata("t47.kt")
public void testT47() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t47.kt");
}
@Test
@TestMetadata("t60.kt")
public void testT60() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t60.kt");
}
@Test
@TestMetadata("t63.kt")
public void testT63() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t63.kt");
}
@Test
@TestMetadata("t64.kt")
public void testT64() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t64.kt");
}
@Test
@TestMetadata("t8.kt")
public void testT8() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t8.kt");
}
@Test
@TestMetadata("t9.kt")
public void testT9() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t9.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class Concurrent {
@Test
public void testAllFilesPresentInConcurrent() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t48.kt")
public void testT48() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t48.kt");
}
@Test
@TestMetadata("t49.kt")
public void testT49() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t49.kt");
}
@Test
@TestMetadata("t50.kt")
public void testT50() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t50.kt");
}
@Test
@TestMetadata("t51.kt")
public void testT51() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t51.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class ImmutableBlobOf {
@Test
public void testAllFilesPresentInImmutableBlobOf() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t54.kt")
public void testT54() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t54.kt");
}
@Test
@TestMetadata("t55.kt")
public void testT55() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t55.kt");
}
@Test
@TestMetadata("t56.kt")
public void testT56() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t56.kt");
}
@Test
@TestMetadata("t57.kt")
public void testT57() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t57.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class NativeRef {
@Test
public void testAllFilesPresentInNativeRef() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t52.kt")
public void testT52() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef/t52.kt");
}
@Test
@TestMetadata("t53.kt")
public void testT53() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef/t53.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class ObjCInterop {
@Test
public void testAllFilesPresentInObjCInterop() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t15.kt")
public void testT15() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t15.kt");
}
@Test
@TestMetadata("t16.kt")
public void testT16() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t16.kt");
}
@Test
@TestMetadata("t17.kt")
public void testT17() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t17.kt");
}
@Test
@TestMetadata("t18.kt")
public void testT18() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t18.kt");
}
@Test
@TestMetadata("t2.kt")
public void testT2() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t2.kt");
}
@Test
@TestMetadata("t20.kt")
public void testT20() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t20.kt");
}
@Test
@TestMetadata("t21.kt")
public void testT21() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t21.kt");
}
@Test
@TestMetadata("t22.kt")
public void testT22() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t22.kt");
}
@Test
@TestMetadata("t23.kt")
public void testT23() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t23.kt");
}
@Test
@TestMetadata("t24.kt")
public void testT24() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t24.kt");
}
@Test
@TestMetadata("t25.kt")
public void testT25() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t25.kt");
}
@Test
@TestMetadata("t26.kt")
public void testT26() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t26.kt");
}
@Test
@TestMetadata("t27.kt")
public void testT27() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t27.kt");
}
@Test
@TestMetadata("t28.kt")
public void testT28() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t28.kt");
}
@Test
@TestMetadata("t29.kt")
public void testT29() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t29.kt");
}
@Test
@TestMetadata("t30.kt")
public void testT30() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t30.kt");
}
@Test
@TestMetadata("t31.kt")
public void testT31() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t31.kt");
}
@Test
@TestMetadata("t32.kt")
public void testT32() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t32.kt");
}
@Test
@TestMetadata("t33.kt")
public void testT33() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t33.kt");
}
@Test
@TestMetadata("t34.kt")
public void testT34() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t34.kt");
}
@Test
@TestMetadata("t35.kt")
public void testT35() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t35.kt");
}
@Test
@TestMetadata("t4.kt")
public void testT4() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t4.kt");
}
@Test
@TestMetadata("t5.kt")
public void testT5() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t5.kt");
}
@Test
@TestMetadata("t6.kt")
public void testT6() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t6.kt");
}
@Test
@TestMetadata("t61.kt")
public void testT61() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t61.kt");
}
@Test
@TestMetadata("t62.kt")
public void testT62() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t62.kt");
}
@Test
@TestMetadata("t7.kt")
public void testT7() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t7.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class Posix {
@Test
public void testAllFilesPresentInPosix() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t3.kt")
public void testT3() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix/t3.kt");
}
@Test
@TestMetadata("t36.kt")
public void testT36() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix/t36.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class Reflect {
@Test
public void testAllFilesPresentInReflect() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t58.kt")
public void testT58() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect/t58.kt");
}
@Test
@TestMetadata("t59.kt")
public void testT59() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect/t59.kt");
}
}
}
}
@@ -115,4 +115,464 @@ public class LLFirReversedNativeTestGenerated extends AbstractLLFirReversedNativ
public void testTopLevelSingleton() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/topLevelSingleton.kt");
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class SpecialBackendChecks {
@Test
public void testAllFilesPresentInSpecialBackendChecks() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class CInterop {
@Test
public void testAllFilesPresentInCInterop() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t1.kt")
public void testT1() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t1.kt");
}
@Test
@TestMetadata("t10.kt")
public void testT10() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t10.kt");
}
@Test
@TestMetadata("t11.kt")
public void testT11() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t11.kt");
}
@Test
@TestMetadata("t12.kt")
public void testT12() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t12.kt");
}
@Test
@TestMetadata("t13.kt")
public void testT13() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t13.kt");
}
@Test
@TestMetadata("t14.kt")
public void testT14() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t14.kt");
}
@Test
@TestMetadata("t37.kt")
public void testT37() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t37.kt");
}
@Test
@TestMetadata("t38.kt")
public void testT38() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t38.kt");
}
@Test
@TestMetadata("t40.kt")
public void testT40() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t40.kt");
}
@Test
@TestMetadata("t41.kt")
public void testT41() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t41.kt");
}
@Test
@TestMetadata("t42.kt")
public void testT42() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t42.kt");
}
@Test
@TestMetadata("t43.kt")
public void testT43() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t43.kt");
}
@Test
@TestMetadata("t44.kt")
public void testT44() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t44.kt");
}
@Test
@TestMetadata("t45.kt")
public void testT45() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t45.kt");
}
@Test
@TestMetadata("t46.kt")
public void testT46() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t46.kt");
}
@Test
@TestMetadata("t47.kt")
public void testT47() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t47.kt");
}
@Test
@TestMetadata("t60.kt")
public void testT60() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t60.kt");
}
@Test
@TestMetadata("t63.kt")
public void testT63() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t63.kt");
}
@Test
@TestMetadata("t64.kt")
public void testT64() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t64.kt");
}
@Test
@TestMetadata("t8.kt")
public void testT8() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t8.kt");
}
@Test
@TestMetadata("t9.kt")
public void testT9() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t9.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class Concurrent {
@Test
public void testAllFilesPresentInConcurrent() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t48.kt")
public void testT48() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t48.kt");
}
@Test
@TestMetadata("t49.kt")
public void testT49() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t49.kt");
}
@Test
@TestMetadata("t50.kt")
public void testT50() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t50.kt");
}
@Test
@TestMetadata("t51.kt")
public void testT51() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t51.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class ImmutableBlobOf {
@Test
public void testAllFilesPresentInImmutableBlobOf() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t54.kt")
public void testT54() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t54.kt");
}
@Test
@TestMetadata("t55.kt")
public void testT55() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t55.kt");
}
@Test
@TestMetadata("t56.kt")
public void testT56() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t56.kt");
}
@Test
@TestMetadata("t57.kt")
public void testT57() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t57.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class NativeRef {
@Test
public void testAllFilesPresentInNativeRef() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t52.kt")
public void testT52() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef/t52.kt");
}
@Test
@TestMetadata("t53.kt")
public void testT53() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef/t53.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class ObjCInterop {
@Test
public void testAllFilesPresentInObjCInterop() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t15.kt")
public void testT15() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t15.kt");
}
@Test
@TestMetadata("t16.kt")
public void testT16() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t16.kt");
}
@Test
@TestMetadata("t17.kt")
public void testT17() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t17.kt");
}
@Test
@TestMetadata("t18.kt")
public void testT18() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t18.kt");
}
@Test
@TestMetadata("t2.kt")
public void testT2() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t2.kt");
}
@Test
@TestMetadata("t20.kt")
public void testT20() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t20.kt");
}
@Test
@TestMetadata("t21.kt")
public void testT21() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t21.kt");
}
@Test
@TestMetadata("t22.kt")
public void testT22() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t22.kt");
}
@Test
@TestMetadata("t23.kt")
public void testT23() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t23.kt");
}
@Test
@TestMetadata("t24.kt")
public void testT24() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t24.kt");
}
@Test
@TestMetadata("t25.kt")
public void testT25() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t25.kt");
}
@Test
@TestMetadata("t26.kt")
public void testT26() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t26.kt");
}
@Test
@TestMetadata("t27.kt")
public void testT27() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t27.kt");
}
@Test
@TestMetadata("t28.kt")
public void testT28() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t28.kt");
}
@Test
@TestMetadata("t29.kt")
public void testT29() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t29.kt");
}
@Test
@TestMetadata("t30.kt")
public void testT30() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t30.kt");
}
@Test
@TestMetadata("t31.kt")
public void testT31() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t31.kt");
}
@Test
@TestMetadata("t32.kt")
public void testT32() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t32.kt");
}
@Test
@TestMetadata("t33.kt")
public void testT33() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t33.kt");
}
@Test
@TestMetadata("t34.kt")
public void testT34() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t34.kt");
}
@Test
@TestMetadata("t35.kt")
public void testT35() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t35.kt");
}
@Test
@TestMetadata("t4.kt")
public void testT4() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t4.kt");
}
@Test
@TestMetadata("t5.kt")
public void testT5() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t5.kt");
}
@Test
@TestMetadata("t6.kt")
public void testT6() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t6.kt");
}
@Test
@TestMetadata("t61.kt")
public void testT61() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t61.kt");
}
@Test
@TestMetadata("t62.kt")
public void testT62() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t62.kt");
}
@Test
@TestMetadata("t7.kt")
public void testT7() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t7.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class Posix {
@Test
public void testAllFilesPresentInPosix() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t3.kt")
public void testT3() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix/t3.kt");
}
@Test
@TestMetadata("t36.kt")
public void testT36() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix/t36.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect")
@TestDataPath("$PROJECT_ROOT")
@Tag("llFirNative")
public class Reflect {
@Test
public void testAllFilesPresentInReflect() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t58.kt")
public void testT58() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect/t58.kt");
}
@Test
@TestMetadata("t59.kt")
public void testT59() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect/t59.kt");
}
}
}
}
@@ -22,12 +22,14 @@ object CommonKLibResolver {
logger: Logger,
zipAccessor: ZipFileSystemAccessor? = null,
lenient: Boolean = false,
knownIrProviders: List<String> = listOf(),
): KotlinLibraryResolveResult =
resolveWithoutDependencies(
libraries,
logger,
zipAccessor,
lenient,
knownIrProviders,
).resolveWithDependencies()
fun resolveWithoutDependencies(
@@ -35,6 +37,7 @@ object CommonKLibResolver {
logger: Logger,
zipAccessor: ZipFileSystemAccessor?,
lenient: Boolean = false,
knownIrProviders: List<String> = listOf(),
): KLibResolution {
val unresolvedLibraries = libraries.map { UnresolvedLibrary(it, null, lenient) }
val libraryAbsolutePaths = libraries.map { File(it).absolutePath }
@@ -46,7 +49,8 @@ object CommonKLibResolver {
localKotlinDir = null,
skipCurrentDir = false,
logger = logger,
zipAccessor = zipAccessor
zipAccessor = zipAccessor,
knownIrProviders = knownIrProviders,
).libraryResolver()
return KLibResolution(
@@ -79,7 +83,8 @@ private class KLibResolverHelper(
localKotlinDir: String?,
skipCurrentDir: Boolean,
logger: Logger,
private val zipAccessor: ZipFileSystemAccessor?
private val zipAccessor: ZipFileSystemAccessor?,
knownIrProviders: List<String>,
) : KotlinLibraryProperResolverWithAttributes<KotlinLibrary>(
repositories,
directLibs,
@@ -87,7 +92,7 @@ private class KLibResolverHelper(
localKotlinDir,
skipCurrentDir,
logger,
emptyList()
knownIrProviders,
) {
// Stick with the default KotlinLibrary for now.
override fun libraryComponentBuilder(file: File, isDefault: Boolean) = createKotlinLibraryComponents(file, isDefault, zipAccessor)
@@ -13,4 +13,6 @@ object ConfigurationDirectives : SimpleDirectivesContainer() {
)
val WITH_STDLIB by directive("Add Kotlin stdlib to classpath")
val WITH_PLATFORM_LIBS by directive("Add platform libs to classpath")
}
@@ -1,10 +1,10 @@
This testsuit fir specialBackendChecks on Mac hosts relies on platform libs are installed.
To run testsuit locally, make sure the above is executed first:
- `./gradlew :kotlin-native:platformLibs:macos_arm64Install` or
- `./gradlew :kotlin-native:platformLibs:macos_arm64Install` or
- `./gradlew :kotlin-native:platformLibs:macos_x64Install`
This testsuit is run differently for K1 and K2 frontends:
- K1/N manual: run `compiler/testData/diagnostics/nativeTests/specialBackendChecks/runtests.sh -language-version 1.9`,
- K1/N manual: run `compiler/testData/diagnostics/nativeTests/specialBackendChecks/runtests.sh -language-version 1.9`,
- K2/N manual: run `compiler/testData/diagnostics/nativeTests/specialBackendChecks/runtests.sh`,
- K2/N tests are also run in scope of `FirLightTreeOldFrontendNativeDiagnosticsTestGenerated` and `FirPsiOldFrontendNativeDiagnosticsTestGenerated`.
@@ -57,4 +57,100 @@ compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t64.kt
compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t8.kt
/tmp/t8.kt:8:5: error: type kotlin.Function0<*> of callback parameter 1 is not supported here: * as return type
compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t9.kt
/tmp/t41.kt:9:5: error: kotlinx.cinterop.staticCFunction must take an unbound, non-capturing function or lambda, but captures at:
/tmp/t41.kt:7:17: x
compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t48.kt
/tmp/t48.kt:11:12: error: kotlin.native.concurrent.Worker.execute must take an unbound, non-capturing function or lambda, but captures at:
/tmp/t48.kt:11:50
compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t49.kt
/tmp/t49.kt:7:12: error: kotlin.native.concurrent.Worker.execute must take an unbound, non-capturing function or lambda, but captures at:
/tmp/t49.kt:7:61: x
compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t50.kt
/tmp/t50.kt:12:16: error: kotlin.native.concurrent.Worker.execute must take an unbound, non-capturing function or lambda, but captures at:
/tmp/t50.kt:12:54
compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t51.kt
/tmp/t51.kt:10:28: error: kotlin.native.concurrent.Worker.execute must take an unbound, non-capturing function or lambda, but captures at:
/tmp/t51.kt:10:66
compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t54.kt
/tmp/t54.kt:2:44: error: no spread elements allowed here
compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t55.kt
/tmp/t55.kt:2:37: error: all elements of binary blob must be constants
compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t56.kt
/tmp/t56.kt:2:29: error: incorrect value for binary data: 1000
compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t57.kt
/tmp/t57.kt:2:13: error: expected at least one element
compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef/t52.kt
/tmp/t52.kt:6:5: error: kotlin.native.ref.createCleaner must take an unbound, non-capturing function or lambda, but captures at:
/tmp/t52.kt:6:33: x
compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef/t53.kt
/tmp/t53.kt:10:5: error: kotlin.native.ref.createCleaner must take an unbound, non-capturing function or lambda, but captures at:
/tmp/t53.kt:10:23
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t15.kt
/tmp/t15.kt:6:26: error: type kotlin.Function0<kotlin.Unit> is not supported here: not supported as variadic argument
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t16.kt
/tmp/t16.kt:8:26: error: type <root>.Z is not supported here: doesn't correspond to any C type
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t17.kt
/tmp/t17.kt:8:15: error: super calls to Objective-C protocols are not allowed
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t18.kt
/tmp/t18.kt:8:19: error: super calls to Objective-C meta classes are not supported yet
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t2.kt
/tmp/t2.kt:6:5: error: 'handleFailureInFunction' overrides nothing.
override fun handleFailureInFunction(functionName: String, file: String, lineNumber: NSInteger /* = Long */, description: String?, vararg args: Any?) { }
^
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t20.kt
/tmp/t20.kt:6:1: error: only classes are supported as subtypes of Objective-C types
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t21.kt
/tmp/t21.kt:6:1: error: non-final Kotlin subclasses of Objective-C classes are not yet supported
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t22.kt
/tmp/t22.kt:6:1: error: fields are not supported for Companion of subclass of ObjC type
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t23.kt
/tmp/t23.kt:8:1: error: mixing Kotlin and Objective-C supertypes is not supported
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t24.kt
/tmp/t24.kt:6:1: error: only companion objects of subclasses of Objective-C classes can inherit from Objective-C metaclasses
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t25.kt
/tmp/t25.kt:7:5: error: can't override 'toString', override 'description' instead
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t26.kt
/tmp/t26.kt:11:9: error: @kotlinx.cinterop.ObjCAction method must not have extension receiver
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t27.kt
/tmp/t27.kt:11:13: error: unexpected @kotlinx.cinterop.ObjCAction method parameter type: kotlin.String
Only Objective-C object types are supported here
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t28.kt
/tmp/t28.kt:8:5: error: unexpected @kotlinx.cinterop.ObjCAction method return type: kotlin.Int
Only 'Unit' is supported here
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t29.kt
/tmp/t29.kt:9:5: error: @kotlinx.cinterop.ObjCOutlet property must be var
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t30.kt
/tmp/t30.kt:10:9: error: @kotlinx.cinterop.ObjCOutlet must not have extension receiver
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t31.kt
/tmp/t31.kt:8:5: error: unexpected @kotlinx.cinterop.ObjCOutlet type: kotlin.String
Only Objective-C object types are supported here
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t32.kt
/tmp/t32.kt:8:5: error: constructor with @kotlinx.cinterop.ObjCObjectBase.OverrideInit doesn't override any super class constructor.
It must completely match by parameter names and types.
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t33.kt
/tmp/t33.kt:8:5: error: constructor with @kotlinx.cinterop.ObjCObjectBase.OverrideInit overrides initializer that is already overridden explicitly
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t34.kt
/tmp/t34.kt:8:5: error: only 0, 1 or 2 parameters are supported here
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t35.kt
/tmp/t35.kt:7:13: error: unable to call non-designated initializer as super constructor
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t4.kt
/tmp/t4.kt:6:21: error: callable references to variadic Objective-C methods are not supported
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t5.kt
/tmp/t5.kt:6:82: error: passing String as variadic Objective-C argument is ambiguous; cast it to NSString or pass with '.cstr' as C string
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t6.kt
/tmp/t6.kt:6:96: error: when calling variadic Objective-C methods spread operator is supported only for *arrayOf(...)
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t61.kt
/tmp/t61.kt:4:5: error: only companion objects of subclasses of Objective-C classes can inherit from Objective-C metaclasses
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t62.kt
/tmp/t62.kt:3:1: error: only companion objects of subclasses of Objective-C classes can inherit from Objective-C metaclasses
compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t7.kt
/tmp/t7.kt:6:40: error: when calling variadic C functions spread operator is supported only for *arrayOf(...)
compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix/t3.kt
/tmp/t3.kt:6:13: error: callable references to variadic C functions are not supported
compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix/t36.kt
/tmp/t36.kt:6:13: error: native interop types constructors must not be called directly
compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect/t58.kt
/tmp/t58.kt:6:5: error: non-reified type parameters with recursive bounds are not supported yet: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Comparable<T of <root>.foo>] reified:false
compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect/t59.kt
/tmp/t59.kt:6:5: error: non-reified type parameters with recursive bounds are not supported yet: TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Comparable<T of <root>.foo>] reified:false
```
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
fun foo(x: Int, vararg s: String): Int {
@@ -6,6 +7,7 @@ fun foo(x: Int, vararg s: String): Int {
return sum
}
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
fun bar() {
staticCFunction(::foo)
}
@@ -1,7 +1,9 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
fun foo(f: Function1<*, Int>) = f
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
fun bar() {
staticCFunction(::foo)
}
@@ -1,7 +1,9 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
fun foo(f: Function1<in Int, Int>) = f
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
fun bar() {
staticCFunction(::foo)
}
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
@file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
import kotlinx.cinterop.*
fun foo(x: CValue<*>?) = x
@@ -1,5 +1,7 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
fun <T: CVariable> bar() {
fun foo(x: CValue<T>) = x
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
@file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
import kotlinx.cinterop.*
class Z(rawPtr: NativePtr): CStructVar(rawPtr)
@@ -1,6 +1,9 @@
// FIR_IDENTICAL
// OPT_IN: kotlin.native.internal.InternalForKotlinNative
import kotlinx.cinterop.*
import kotlinx.cinterop.internal.*
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
@CStruct(spelling = "struct { }") class Z constructor(rawPtr: NativePtr) : CStructVar(rawPtr) {
val x: Pair<Int, Int>? = null
@CStruct.MemberAt(offset = 0L) get
@@ -1,6 +1,9 @@
// FIR_IDENTICAL
// OPT_IN: kotlin.native.internal.InternalForKotlinNative
import kotlinx.cinterop.*
import kotlinx.cinterop.internal.*
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
@CStruct(spelling = "struct { }") class Z constructor(rawPtr: NativePtr) : CStructVar(rawPtr) {
var x: Pair<Int, Int>? = null
@CStruct.MemberAt(offset = 0L) get
@@ -1,9 +1,11 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
class Z {
fun foo(x: Int) = x
}
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
fun bar() {
staticCFunction(Z()::foo)
}
@@ -1,5 +1,7 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
fun bar(x: Int) {
fun foo() = x
@@ -1,7 +1,9 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
fun foo(x: Any) = x
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
fun bar() {
staticCFunction<String, Any>(::foo)
}
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
@Suppress("DEPRECATION")
fun bar(x: Float) = x.signExtend<Int>()
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
@Suppress("DEPRECATION")
fun bar(x: Int) = x.signExtend<Float>()
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
@Suppress("DEPRECATION")
fun bar(x: Int) = x.signExtend<Short>()
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
@Suppress("DEPRECATION")
fun bar(x: Int) = x.narrow<Long>()
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
@file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
import kotlinx.cinterop.*
fun bar(x: Int) = x.convert<String>()
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
@file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
import kotlinx.cinterop.*
class Vertex constructor(rawPtr: NativePtr) : CStructVar(rawPtr) {
@@ -6,5 +8,6 @@ class Vertex constructor(rawPtr: NativePtr) : CStructVar(rawPtr) {
var r: Float = 0f
var g: Float = 0f
var b: Float = 0f
@Suppress("DEPRECATION")
companion object : CStructVar.Type(40, 8)
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
import kotlin.coroutines.*
@@ -17,6 +18,7 @@ fun startCoroutine(block: suspend () -> Unit) {
block.startCoroutine(EmptyContinuation)
}
@OptIn(kotlinx.cinterop.BetaInteropApi::class)
fun main() {
autoreleasepool {
startCoroutine {
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
import kotlin.coroutines.*
@@ -17,8 +18,10 @@ fun startCoroutine(block: suspend () -> Unit) {
block.startCoroutine(EmptyContinuation)
}
@OptIn(kotlinx.cinterop.BetaInteropApi::class)
inline fun <T> myAutoreleasepool(block: () -> T) = autoreleasepool(block)
@OptIn(kotlinx.cinterop.BetaInteropApi::class)
fun main() {
autoreleasepool {
startCoroutine {
@@ -1,7 +1,9 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
fun foo(f: Function0<*>) = f
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
fun bar() {
staticCFunction(::foo)
}
@@ -1,7 +1,9 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
fun foo(f: Function0<out Int>) = f
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
fun bar() {
staticCFunction(::foo)
}
@@ -1,9 +1,11 @@
// FIR_IDENTICAL
import kotlin.native.concurrent.*
class Z(val x: Int) {
fun bar(s: String) = s + x.toString()
}
@OptIn(ObsoleteWorkersApi::class)
fun foo(x: Int) {
val worker = Worker.start()
worker.execute(TransferMode.SAFE, { "zzz" }, Z(x)::bar)
@@ -1,5 +1,7 @@
// FIR_IDENTICAL
import kotlin.native.concurrent.*
@OptIn(ObsoleteWorkersApi::class)
fun foo(x: Int) {
val worker = Worker.start()
worker.execute(TransferMode.SAFE, { "zzz" }) { s -> s + x.toString() }
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
@file:OptIn(ObsoleteWorkersApi::class)
import kotlin.native.concurrent.*
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
@file:OptIn(ObsoleteWorkersApi::class)
import kotlin.native.concurrent.*
@@ -1 +1,2 @@
// FIR_IDENTICAL
fun foo(arr: ShortArray) = immutableBlobOf(*arr)
@@ -1 +1,2 @@
// FIR_IDENTICAL
fun foo(x: Short) = immutableBlobOf(x)
@@ -1 +1,2 @@
// FIR_IDENTICAL
fun foo() = immutableBlobOf(1000)
@@ -1 +1,2 @@
// FIR_IDENTICAL
fun foo() = immutableBlobOf()
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
import kotlin.native.ref.*
@OptIn(kotlin.experimental.ExperimentalNativeApi::class)
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
import kotlin.native.ref.*
class C(val x: Int) {
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
import platform.Foundation.*
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
import platform.Foundation.*
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
import platform.Foundation.*
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
class Foo : NSObject() {
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
import platform.darwin.*
import platform.Foundation.*
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
import platform.Foundation.*
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
import platform.Foundation.*
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
import platform.Foundation.*
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
import platform.Foundation.*
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
import platform.Foundation.*
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
import platform.Foundation.*
@@ -1,8 +1,12 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import kotlinx.cinterop.*
import platform.darwin.*
import platform.Foundation.*
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
class Zzz : NSAssertionHandler() {
@OptIn(kotlinx.cinterop.BetaInteropApi::class)
@ObjCAction
fun String.foo() = println(this)
}
@@ -1,8 +1,12 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import kotlinx.cinterop.*
import platform.darwin.*
import platform.Foundation.*
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
class Zzz : NSAssertionHandler() {
@OptIn(kotlinx.cinterop.BetaInteropApi::class)
@ObjCAction
fun foo(x: String) = println(x)
}
@@ -1,8 +1,11 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import kotlinx.cinterop.*
import platform.darwin.*
import platform.Foundation.*
class Zzz : NSAssertionHandler() {
@OptIn(kotlinx.cinterop.BetaInteropApi::class)
@ObjCAction
fun foo() = 42
}
@@ -1,8 +1,12 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import kotlinx.cinterop.*
import platform.darwin.*
import platform.Foundation.*
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
class Zzz : NSAssertionHandler() {
@OptIn(kotlinx.cinterop.BetaInteropApi::class)
@ObjCOutlet
val x: NSObject get() = this
}
@@ -1,8 +1,11 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import kotlinx.cinterop.*
import platform.darwin.*
import platform.Foundation.*
class Zzz : NSAssertionHandler() {
@OptIn(kotlinx.cinterop.BetaInteropApi::class)
@ObjCOutlet
var NSObject.x: NSObject
get() = this
@@ -1,8 +1,11 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import kotlinx.cinterop.*
import platform.darwin.*
import platform.Foundation.*
class Zzz : NSAssertionHandler() {
@OptIn(kotlinx.cinterop.BetaInteropApi::class)
@ObjCOutlet
var x: String
get() = "zzz"
@@ -1,8 +1,11 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import kotlinx.cinterop.*
import platform.darwin.*
import platform.Foundation.*
class Zzz : NSAssertionHandler {
@OptIn(kotlinx.cinterop.BetaInteropApi::class)
@OverrideInit
constructor(x: Int) { }
}
@@ -1,10 +1,14 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import kotlinx.cinterop.*
import platform.darwin.*
import platform.Foundation.*
class Zzz : NSString {
@OptIn(kotlinx.cinterop.BetaInteropApi::class)
@OverrideInit
constructor(coder: NSCoder) { }
@Suppress("OVERRIDE_DEPRECATION")
override fun initWithCoder(coder: NSCoder): String? = "zzz"
}
@@ -1,8 +1,11 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import kotlinx.cinterop.*
import platform.darwin.*
import platform.Foundation.*
class Zzz : NSAssertionHandler() {
@OptIn(kotlinx.cinterop.BetaInteropApi::class)
@ObjCAction
fun foo(x: NSObject, y: NSObject, z: NSObject) { }
}
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import kotlinx.cinterop.*
import platform.darwin.*
import platform.Foundation.*
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
import platform.Foundation.*
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
import platform.Foundation.*
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
import platform.Foundation.*
@@ -1,8 +1,4 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
// FIR_IDENTICAL
// KT-50109
class Foo {
companion object : platform.darwin.NSObjectMeta()
@@ -1,7 +1,3 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
// FIR_IDENTICAL
// KT-50109
class Foo : platform.darwin.NSObjectMeta()
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.darwin.*
import platform.Foundation.*
@@ -1,3 +1,5 @@
// FIR_IDENTICAL
// WITH_PLATFORM_LIBS
import platform.posix.*
fun main() {
@@ -1,4 +1,6 @@
// FIR_IDENTICAL
import kotlinx.cinterop.*
import platform.posix.*
@OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
fun foo() = stat(malloc(42u)!!.rawValue)
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
import kotlin.reflect.*
@OptIn(kotlin.ExperimentalStdlibApi::class)
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
import kotlin.reflect.*
@OptIn(kotlin.ExperimentalStdlibApi::class)
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.test.frontend.fir
import org.jetbrains.kotlin.backend.common.CommonKLibResolver
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.fir.FirSession
@@ -12,6 +13,7 @@ import org.jetbrains.kotlin.fir.deserialization.ModuleDataProvider
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider
import org.jetbrains.kotlin.fir.session.FirNativeSessionFactory
import org.jetbrains.kotlin.ir.backend.js.resolverLogger
import org.jetbrains.kotlin.test.services.configuration.NativeEnvironmentConfigurator
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.test.model.TestModule
@@ -29,7 +31,11 @@ object TestFirNativeSessionFactory {
languageVersionSettings: LanguageVersionSettings,
registerExtraComponents: (FirSession) -> Unit = {},
): FirSession {
val resolvedLibraries = resolveLibraries(configuration, getAllNativeDependenciesPaths(module, testServices))
val resolvedLibraries = CommonKLibResolver.resolve(
getAllNativeDependenciesPaths(module, testServices),
configuration.resolverLogger,
knownIrProviders = listOf("kotlin.native.cinterop"), // FIXME use KonanLibraryProperResolver instead, as in production.
).getFullResolvedList()
return FirNativeSessionFactory.createLibrarySession(
mainModuleName,
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.test.services.configuration
import org.jetbrains.kotlin.konan.target.TargetSupportException
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives
import org.jetbrains.kotlin.test.model.TestModule
import org.jetbrains.kotlin.test.services.EnvironmentConfigurator
@@ -25,6 +26,13 @@ class NativeEnvironmentConfigurator(testServices: TestServices) : EnvironmentCon
result += File("$nativeHome/klib/common/stdlib").absolutePath
}
if (ConfigurationDirectives.WITH_PLATFORM_LIBS in module.directives) {
// Diagnostic tests are agnostic of native target, so host is enforced to be a target.
File("$nativeHome/klib/platform/${hostOsArch()}").listFiles()?.forEach {
result += it.absolutePath
}
}
testServices.runtimeClasspathProviders
.flatMap { it.runtimeClassPaths(module) }
.mapTo(result) { it.absolutePath }
@@ -32,4 +40,27 @@ class NativeEnvironmentConfigurator(testServices: TestServices) : EnvironmentCon
return result
}
}
}
}
private fun hostOsArch() = "${hostOs()}_${hostArch()}"
// `:native` module cannot be imported here, so functions are just copy/pasted here.
// `hostOs()` and `hostArch()` are similar to functions in org.jetbrains.kotlin.konan.target.HostManager
private fun hostOs(): String {
val javaOsName = System.getProperty("os.name")
return when {
javaOsName == "Mac OS X" -> "macos"
javaOsName == "Linux" -> "linux"
javaOsName.startsWith("Windows") -> "mingw"
else -> throw TargetSupportException("Unknown operating system: $javaOsName")
}
}
fun hostArch(): String =
when (val arch = System.getProperty("os.arch")) {
"x86_64" -> "x64"
"amd64" -> "x64"
"arm64" -> "arm64"
"aarch64" -> "arm64"
else -> throw TargetSupportException("Unknown hardware platform: $arch")
}
@@ -21,7 +21,7 @@ import java.util.regex.Pattern;
public class DiagnosticsNativeTestGenerated extends AbstractDiagnosticsNativeTest {
@Test
public void testAllFilesPresentInNativeTests() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true, "specialBackendChecks");
}
@Test
@@ -117,4 +117,472 @@ public class FirLightTreeOldFrontendNativeDiagnosticsTestGenerated extends Abstr
public void testTopLevelSingleton() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/topLevelSingleton.kt");
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class SpecialBackendChecks {
@Test
public void testAllFilesPresentInSpecialBackendChecks() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class CInterop {
@Test
public void testAllFilesPresentInCInterop() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t1.kt")
public void testT1() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t1.kt");
}
@Test
@TestMetadata("t10.kt")
public void testT10() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t10.kt");
}
@Test
@TestMetadata("t11.kt")
public void testT11() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t11.kt");
}
@Test
@TestMetadata("t12.kt")
public void testT12() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t12.kt");
}
@Test
@TestMetadata("t13.kt")
public void testT13() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t13.kt");
}
@Test
@TestMetadata("t14.kt")
public void testT14() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t14.kt");
}
@Test
@TestMetadata("t37.kt")
public void testT37() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t37.kt");
}
@Test
@TestMetadata("t38.kt")
public void testT38() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t38.kt");
}
@Test
@TestMetadata("t40.kt")
public void testT40() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t40.kt");
}
@Test
@TestMetadata("t41.kt")
public void testT41() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t41.kt");
}
@Test
@TestMetadata("t42.kt")
public void testT42() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t42.kt");
}
@Test
@TestMetadata("t43.kt")
public void testT43() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t43.kt");
}
@Test
@TestMetadata("t44.kt")
public void testT44() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t44.kt");
}
@Test
@TestMetadata("t45.kt")
public void testT45() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t45.kt");
}
@Test
@TestMetadata("t46.kt")
public void testT46() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t46.kt");
}
@Test
@TestMetadata("t47.kt")
public void testT47() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t47.kt");
}
@Test
@TestMetadata("t60.kt")
public void testT60() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t60.kt");
}
@Test
@TestMetadata("t63.kt")
public void testT63() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t63.kt");
}
@Test
@TestMetadata("t64.kt")
public void testT64() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t64.kt");
}
@Test
@TestMetadata("t8.kt")
public void testT8() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t8.kt");
}
@Test
@TestMetadata("t9.kt")
public void testT9() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t9.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class Concurrent {
@Test
public void testAllFilesPresentInConcurrent() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t48.kt")
public void testT48() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t48.kt");
}
@Test
@TestMetadata("t49.kt")
public void testT49() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t49.kt");
}
@Test
@TestMetadata("t50.kt")
public void testT50() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t50.kt");
}
@Test
@TestMetadata("t51.kt")
public void testT51() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t51.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class ImmutableBlobOf {
@Test
public void testAllFilesPresentInImmutableBlobOf() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t54.kt")
public void testT54() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t54.kt");
}
@Test
@TestMetadata("t55.kt")
public void testT55() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t55.kt");
}
@Test
@TestMetadata("t56.kt")
public void testT56() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t56.kt");
}
@Test
@TestMetadata("t57.kt")
public void testT57() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t57.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class NativeRef {
@Test
public void testAllFilesPresentInNativeRef() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t52.kt")
public void testT52() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef/t52.kt");
}
@Test
@TestMetadata("t53.kt")
public void testT53() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef/t53.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class ObjCInterop {
@Test
public void testAllFilesPresentInObjCInterop() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t15.kt")
public void testT15() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t15.kt");
}
@Test
@TestMetadata("t16.kt")
public void testT16() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t16.kt");
}
@Test
@TestMetadata("t17.kt")
public void testT17() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t17.kt");
}
@Test
@TestMetadata("t18.kt")
public void testT18() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t18.kt");
}
@Test
@TestMetadata("t2.kt")
public void testT2() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t2.kt");
}
@Test
@TestMetadata("t20.kt")
public void testT20() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t20.kt");
}
@Test
@TestMetadata("t21.kt")
public void testT21() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t21.kt");
}
@Test
@TestMetadata("t22.kt")
public void testT22() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t22.kt");
}
@Test
@TestMetadata("t23.kt")
public void testT23() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t23.kt");
}
@Test
@TestMetadata("t24.kt")
public void testT24() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t24.kt");
}
@Test
@TestMetadata("t25.kt")
public void testT25() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t25.kt");
}
@Test
@TestMetadata("t26.kt")
public void testT26() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t26.kt");
}
@Test
@TestMetadata("t27.kt")
public void testT27() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t27.kt");
}
@Test
@TestMetadata("t28.kt")
public void testT28() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t28.kt");
}
@Test
@TestMetadata("t29.kt")
public void testT29() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t29.kt");
}
@Test
@TestMetadata("t30.kt")
public void testT30() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t30.kt");
}
@Test
@TestMetadata("t31.kt")
public void testT31() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t31.kt");
}
@Test
@TestMetadata("t32.kt")
public void testT32() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t32.kt");
}
@Test
@TestMetadata("t33.kt")
public void testT33() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t33.kt");
}
@Test
@TestMetadata("t34.kt")
public void testT34() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t34.kt");
}
@Test
@TestMetadata("t35.kt")
public void testT35() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t35.kt");
}
@Test
@TestMetadata("t4.kt")
public void testT4() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t4.kt");
}
@Test
@TestMetadata("t5.kt")
public void testT5() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t5.kt");
}
@Test
@TestMetadata("t6.kt")
public void testT6() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t6.kt");
}
@Test
@TestMetadata("t61.kt")
public void testT61() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t61.kt");
}
@Test
@TestMetadata("t62.kt")
public void testT62() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t62.kt");
}
@Test
@TestMetadata("t7.kt")
public void testT7() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t7.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class Posix {
@Test
public void testAllFilesPresentInPosix() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t3.kt")
public void testT3() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix/t3.kt");
}
@Test
@TestMetadata("t36.kt")
public void testT36() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix/t36.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class Reflect {
@Test
public void testAllFilesPresentInReflect() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t58.kt")
public void testT58() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect/t58.kt");
}
@Test
@TestMetadata("t59.kt")
public void testT59() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect/t59.kt");
}
}
}
}
@@ -117,4 +117,472 @@ public class FirPsiOldFrontendNativeDiagnosticsTestGenerated extends AbstractFir
public void testTopLevelSingleton() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/topLevelSingleton.kt");
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class SpecialBackendChecks {
@Test
public void testAllFilesPresentInSpecialBackendChecks() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class CInterop {
@Test
public void testAllFilesPresentInCInterop() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t1.kt")
public void testT1() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t1.kt");
}
@Test
@TestMetadata("t10.kt")
public void testT10() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t10.kt");
}
@Test
@TestMetadata("t11.kt")
public void testT11() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t11.kt");
}
@Test
@TestMetadata("t12.kt")
public void testT12() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t12.kt");
}
@Test
@TestMetadata("t13.kt")
public void testT13() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t13.kt");
}
@Test
@TestMetadata("t14.kt")
public void testT14() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t14.kt");
}
@Test
@TestMetadata("t37.kt")
public void testT37() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t37.kt");
}
@Test
@TestMetadata("t38.kt")
public void testT38() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t38.kt");
}
@Test
@TestMetadata("t40.kt")
public void testT40() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t40.kt");
}
@Test
@TestMetadata("t41.kt")
public void testT41() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t41.kt");
}
@Test
@TestMetadata("t42.kt")
public void testT42() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t42.kt");
}
@Test
@TestMetadata("t43.kt")
public void testT43() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t43.kt");
}
@Test
@TestMetadata("t44.kt")
public void testT44() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t44.kt");
}
@Test
@TestMetadata("t45.kt")
public void testT45() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t45.kt");
}
@Test
@TestMetadata("t46.kt")
public void testT46() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t46.kt");
}
@Test
@TestMetadata("t47.kt")
public void testT47() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t47.kt");
}
@Test
@TestMetadata("t60.kt")
public void testT60() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t60.kt");
}
@Test
@TestMetadata("t63.kt")
public void testT63() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t63.kt");
}
@Test
@TestMetadata("t64.kt")
public void testT64() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t64.kt");
}
@Test
@TestMetadata("t8.kt")
public void testT8() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t8.kt");
}
@Test
@TestMetadata("t9.kt")
public void testT9() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/cInterop/t9.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class Concurrent {
@Test
public void testAllFilesPresentInConcurrent() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t48.kt")
public void testT48() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t48.kt");
}
@Test
@TestMetadata("t49.kt")
public void testT49() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t49.kt");
}
@Test
@TestMetadata("t50.kt")
public void testT50() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t50.kt");
}
@Test
@TestMetadata("t51.kt")
public void testT51() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/concurrent/t51.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class ImmutableBlobOf {
@Test
public void testAllFilesPresentInImmutableBlobOf() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t54.kt")
public void testT54() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t54.kt");
}
@Test
@TestMetadata("t55.kt")
public void testT55() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t55.kt");
}
@Test
@TestMetadata("t56.kt")
public void testT56() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t56.kt");
}
@Test
@TestMetadata("t57.kt")
public void testT57() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/immutableBlobOf/t57.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class NativeRef {
@Test
public void testAllFilesPresentInNativeRef() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t52.kt")
public void testT52() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef/t52.kt");
}
@Test
@TestMetadata("t53.kt")
public void testT53() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/nativeRef/t53.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class ObjCInterop {
@Test
public void testAllFilesPresentInObjCInterop() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t15.kt")
public void testT15() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t15.kt");
}
@Test
@TestMetadata("t16.kt")
public void testT16() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t16.kt");
}
@Test
@TestMetadata("t17.kt")
public void testT17() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t17.kt");
}
@Test
@TestMetadata("t18.kt")
public void testT18() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t18.kt");
}
@Test
@TestMetadata("t2.kt")
public void testT2() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t2.kt");
}
@Test
@TestMetadata("t20.kt")
public void testT20() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t20.kt");
}
@Test
@TestMetadata("t21.kt")
public void testT21() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t21.kt");
}
@Test
@TestMetadata("t22.kt")
public void testT22() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t22.kt");
}
@Test
@TestMetadata("t23.kt")
public void testT23() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t23.kt");
}
@Test
@TestMetadata("t24.kt")
public void testT24() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t24.kt");
}
@Test
@TestMetadata("t25.kt")
public void testT25() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t25.kt");
}
@Test
@TestMetadata("t26.kt")
public void testT26() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t26.kt");
}
@Test
@TestMetadata("t27.kt")
public void testT27() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t27.kt");
}
@Test
@TestMetadata("t28.kt")
public void testT28() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t28.kt");
}
@Test
@TestMetadata("t29.kt")
public void testT29() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t29.kt");
}
@Test
@TestMetadata("t30.kt")
public void testT30() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t30.kt");
}
@Test
@TestMetadata("t31.kt")
public void testT31() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t31.kt");
}
@Test
@TestMetadata("t32.kt")
public void testT32() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t32.kt");
}
@Test
@TestMetadata("t33.kt")
public void testT33() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t33.kt");
}
@Test
@TestMetadata("t34.kt")
public void testT34() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t34.kt");
}
@Test
@TestMetadata("t35.kt")
public void testT35() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t35.kt");
}
@Test
@TestMetadata("t4.kt")
public void testT4() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t4.kt");
}
@Test
@TestMetadata("t5.kt")
public void testT5() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t5.kt");
}
@Test
@TestMetadata("t6.kt")
public void testT6() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t6.kt");
}
@Test
@TestMetadata("t61.kt")
public void testT61() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t61.kt");
}
@Test
@TestMetadata("t62.kt")
public void testT62() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t62.kt");
}
@Test
@TestMetadata("t7.kt")
public void testT7() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/objCInterop/t7.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class Posix {
@Test
public void testAllFilesPresentInPosix() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t3.kt")
public void testT3() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix/t3.kt");
}
@Test
@TestMetadata("t36.kt")
public void testT36() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/posix/t36.kt");
}
}
@Nested
@TestMetadata("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect")
@TestDataPath("$PROJECT_ROOT")
@Tag("frontend-fir")
@FirPipeline()
public class Reflect {
@Test
public void testAllFilesPresentInReflect() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
}
@Test
@TestMetadata("t58.kt")
public void testT58() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect/t58.kt");
}
@Test
@TestMetadata("t59.kt")
public void testT59() throws Exception {
runTest("compiler/testData/diagnostics/nativeTests/specialBackendChecks/reflect/t59.kt");
}
}
}
}
@@ -321,7 +321,13 @@ fun main() {
// New frontend test infrastructure tests
testGroup(testsRoot = "native/native.tests/tests-gen", testDataRoot = "compiler/testData") {
testClass<AbstractDiagnosticsNativeTest> {
model("diagnostics/nativeTests", excludedPattern = CUSTOM_TEST_DATA_EXTENSION_PATTERN)
model(
"diagnostics/nativeTests",
excludedPattern = CUSTOM_TEST_DATA_EXTENSION_PATTERN,
// There are no special native-specific diagnostics in K1 frontend.
// These checks happen in native backend instead, in SpecialBackendChecks class.
excludeDirs = listOf("specialBackendChecks"),
)
}
testClass<AbstractFirPsiNativeDiagnosticsTest>(
@@ -5,13 +5,16 @@
package org.jetbrains.kotlin.konan.test.diagnostics
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.platform.konan.NativePlatforms
import org.jetbrains.kotlin.test.Constructor
import org.jetbrains.kotlin.test.FirParser
import org.jetbrains.kotlin.test.InTextDirectivesUtils
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
import org.jetbrains.kotlin.test.builders.classicFrontendHandlersStep
import org.jetbrains.kotlin.test.builders.firHandlersStep
import org.jetbrains.kotlin.test.directives.*
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives.WITH_PLATFORM_LIBS
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendOutputArtifact
import org.jetbrains.kotlin.test.frontend.classic.handlers.ClassicDiagnosticsHandler
@@ -29,6 +32,8 @@ import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigu
import org.jetbrains.kotlin.test.services.configuration.NativeEnvironmentConfigurator
import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider
import org.jetbrains.kotlin.test.services.sourceProviders.CoroutineHelpersSourceFilesProvider
import org.junit.jupiter.api.Assumptions
import java.io.File
abstract class AbstractDiagnosticsNativeTestBase<R : ResultingArtifact.FrontendOutput<R>> : AbstractKotlinCompilerTest() {
abstract val targetFrontend: FrontendKind<R>
@@ -44,6 +49,17 @@ abstract class AbstractDiagnosticsNativeTestBase<R : ResultingArtifact.FrontendO
baseNativeDiagnosticTestConfiguration(frontend)
handlersSetup(this)
}
override fun runTest(filePath: String) {
mutePlatformTestIfNecessary(filePath)
super.runTest(filePath)
}
private fun mutePlatformTestIfNecessary(filePath: String) {
if(HostManager.hostIsMac) return
if (InTextDirectivesUtils.isDirectiveDefined(File(filePath).readText(), WITH_PLATFORM_LIBS.name))
Assumptions.abort<Nothing>("Diagnostic tests using platform libs are not supported at non-Mac hosts. Test source: $filePath")
}
}
fun <R : ResultingArtifact.FrontendOutput<R>> TestConfigurationBuilder.baseNativeDiagnosticTestConfiguration(