diff --git a/intellij-plugin/hs-Cpp/branches/261/src/org/hyperskill/academy/cpp/checker/CppCatchEduTaskChecker.kt b/intellij-plugin/hs-Cpp/branches/261/src/org/hyperskill/academy/cpp/checker/CppCatchEduTaskChecker.kt index e0a335a14..590b5f9f4 100644 --- a/intellij-plugin/hs-Cpp/branches/261/src/org/hyperskill/academy/cpp/checker/CppCatchEduTaskChecker.kt +++ b/intellij-plugin/hs-Cpp/branches/261/src/org/hyperskill/academy/cpp/checker/CppCatchEduTaskChecker.kt @@ -2,7 +2,6 @@ package org.hyperskill.academy.cpp.checker import com.intellij.execution.configurations.ConfigurationFactory import com.intellij.openapi.project.Project -import com.jetbrains.cidr.execution.testing.tcatch.CidrCatchTestRunConfigurationType import org.hyperskill.academy.cpp.CppCatchCourseBuilder import org.hyperskill.academy.cpp.CppConfigurator import org.hyperskill.academy.cpp.CppProjectSettings @@ -20,7 +19,7 @@ class CppCatchConfigurator : CppConfigurator() { override fun getEduTaskChecker(task: EduTask, project: Project): TaskChecker = object : CppEduTaskChecker(task, envChecker, project) { override fun getFactory(): ConfigurationFactory = - CidrCatchTestRunConfigurationType.getInstance().getFactory() + getTestConfigurationFactory(CATCH_TEST_CONFIGURATION_TYPE_ID) } } } diff --git a/intellij-plugin/hs-Cpp/branches/261/src/org/hyperskill/academy/cpp/checker/CppGEduTaskChecker.kt b/intellij-plugin/hs-Cpp/branches/261/src/org/hyperskill/academy/cpp/checker/CppGEduTaskChecker.kt index d5aaff1c4..6ce70d818 100644 --- a/intellij-plugin/hs-Cpp/branches/261/src/org/hyperskill/academy/cpp/checker/CppGEduTaskChecker.kt +++ b/intellij-plugin/hs-Cpp/branches/261/src/org/hyperskill/academy/cpp/checker/CppGEduTaskChecker.kt @@ -2,7 +2,6 @@ package org.hyperskill.academy.cpp.checker import com.intellij.execution.configurations.ConfigurationFactory import com.intellij.openapi.project.Project -import com.jetbrains.cidr.execution.testing.google.CidrGoogleTestRunConfigurationType import org.hyperskill.academy.cpp.CppConfigurator import org.hyperskill.academy.cpp.CppGTestCourseBuilder import org.hyperskill.academy.cpp.CppProjectSettings @@ -20,7 +19,7 @@ class CppGTestConfigurator : CppConfigurator() { override fun getEduTaskChecker(task: EduTask, project: Project): TaskChecker = object : CppEduTaskChecker(task, envChecker, project) { override fun getFactory(): ConfigurationFactory = - CidrGoogleTestRunConfigurationType.getInstance().getFactory() + getTestConfigurationFactory(GOOGLE_TEST_CONFIGURATION_TYPE_ID) } } } diff --git a/intellij-plugin/hs-Cpp/branches/262/src/org/hyperskill/academy/cpp/checker/CppCatchEduTaskChecker.kt b/intellij-plugin/hs-Cpp/branches/262/src/org/hyperskill/academy/cpp/checker/CppCatchEduTaskChecker.kt index e0a335a14..590b5f9f4 100644 --- a/intellij-plugin/hs-Cpp/branches/262/src/org/hyperskill/academy/cpp/checker/CppCatchEduTaskChecker.kt +++ b/intellij-plugin/hs-Cpp/branches/262/src/org/hyperskill/academy/cpp/checker/CppCatchEduTaskChecker.kt @@ -2,7 +2,6 @@ package org.hyperskill.academy.cpp.checker import com.intellij.execution.configurations.ConfigurationFactory import com.intellij.openapi.project.Project -import com.jetbrains.cidr.execution.testing.tcatch.CidrCatchTestRunConfigurationType import org.hyperskill.academy.cpp.CppCatchCourseBuilder import org.hyperskill.academy.cpp.CppConfigurator import org.hyperskill.academy.cpp.CppProjectSettings @@ -20,7 +19,7 @@ class CppCatchConfigurator : CppConfigurator() { override fun getEduTaskChecker(task: EduTask, project: Project): TaskChecker = object : CppEduTaskChecker(task, envChecker, project) { override fun getFactory(): ConfigurationFactory = - CidrCatchTestRunConfigurationType.getInstance().getFactory() + getTestConfigurationFactory(CATCH_TEST_CONFIGURATION_TYPE_ID) } } } diff --git a/intellij-plugin/hs-Cpp/branches/262/src/org/hyperskill/academy/cpp/checker/CppGEduTaskChecker.kt b/intellij-plugin/hs-Cpp/branches/262/src/org/hyperskill/academy/cpp/checker/CppGEduTaskChecker.kt index d5aaff1c4..6ce70d818 100644 --- a/intellij-plugin/hs-Cpp/branches/262/src/org/hyperskill/academy/cpp/checker/CppGEduTaskChecker.kt +++ b/intellij-plugin/hs-Cpp/branches/262/src/org/hyperskill/academy/cpp/checker/CppGEduTaskChecker.kt @@ -2,7 +2,6 @@ package org.hyperskill.academy.cpp.checker import com.intellij.execution.configurations.ConfigurationFactory import com.intellij.openapi.project.Project -import com.jetbrains.cidr.execution.testing.google.CidrGoogleTestRunConfigurationType import org.hyperskill.academy.cpp.CppConfigurator import org.hyperskill.academy.cpp.CppGTestCourseBuilder import org.hyperskill.academy.cpp.CppProjectSettings @@ -20,7 +19,7 @@ class CppGTestConfigurator : CppConfigurator() { override fun getEduTaskChecker(task: EduTask, project: Project): TaskChecker = object : CppEduTaskChecker(task, envChecker, project) { override fun getFactory(): ConfigurationFactory = - CidrGoogleTestRunConfigurationType.getInstance().getFactory() + getTestConfigurationFactory(GOOGLE_TEST_CONFIGURATION_TYPE_ID) } } } diff --git a/intellij-plugin/hs-Cpp/src/org/hyperskill/academy/cpp/checker/CppTestConfigurationFactory.kt b/intellij-plugin/hs-Cpp/src/org/hyperskill/academy/cpp/checker/CppTestConfigurationFactory.kt new file mode 100644 index 000000000..8bcb8626b --- /dev/null +++ b/intellij-plugin/hs-Cpp/src/org/hyperskill/academy/cpp/checker/CppTestConfigurationFactory.kt @@ -0,0 +1,13 @@ +package org.hyperskill.academy.cpp.checker + +import com.intellij.execution.configurations.ConfigurationFactory +import com.intellij.execution.configurations.ConfigurationTypeUtil + +internal const val GOOGLE_TEST_CONFIGURATION_TYPE_ID = "CMakeGoogleTestRunConfigurationType" +internal const val CATCH_TEST_CONFIGURATION_TYPE_ID = "CMakeCatchTestRunConfigurationType" + +internal fun getTestConfigurationFactory(configurationTypeId: String): ConfigurationFactory = + ConfigurationTypeUtil.findConfigurationType(configurationTypeId) + ?.configurationFactories + ?.singleOrNull() + ?: error("Cannot find a single run configuration factory for '$configurationTypeId'")