From 6d230aad35d5f126e52c962d97597c35bff434d1 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Tue, 18 Oct 2016 12:28:56 +0300 Subject: [PATCH] Suppress tests marked by `TARGET_BACKEND` directive when running Android codegen tests --- .../tests/CodegenTestsOnAndroidGenerator.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.java b/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.java index afef7df1e0c..ba9aa1a9c22 100644 --- a/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.java +++ b/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.java @@ -243,6 +243,10 @@ public class CodegenTestsOnAndroidGenerator extends KtUsefulTestCase { else { String fullFileText = FileUtil.loadFile(file, true); + if (!hasJvmBackendTarget(fullFileText)) { + continue; + } + //TODO: support multifile facades //TODO: support multifile facades hierarchies if (hasBoxMethod(fullFileText)) { @@ -268,6 +272,21 @@ public class CodegenTestsOnAndroidGenerator extends KtUsefulTestCase { return text.contains("fun box()"); } + private static boolean hasJvmBackendTarget(String text) { + List backends = InTextDirectivesUtils.findLinesWithPrefixesRemoved(text, "// TARGET_BACKEND: "); + if (backends.isEmpty()) { + return true; + } + + for (String backend : backends) { + if (backend.equals("JVM")) { + return true; + } + } + + return false; + } + private static void generateTestMethod(Printer p, String testName, String className, String filePath) { p.println("public void test" + testName + "() throws Exception {"); p.pushIndent();