summaryrefslogtreecommitdiff
path: root/python/testSrc/com/jetbrains/env/ut/PyTestTestTask.java
diff options
context:
space:
mode:
Diffstat (limited to 'python/testSrc/com/jetbrains/env/ut/PyTestTestTask.java')
-rw-r--r--python/testSrc/com/jetbrains/env/ut/PyTestTestTask.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/python/testSrc/com/jetbrains/env/ut/PyTestTestTask.java b/python/testSrc/com/jetbrains/env/ut/PyTestTestTask.java
new file mode 100644
index 000000000000..1e4261188206
--- /dev/null
+++ b/python/testSrc/com/jetbrains/env/ut/PyTestTestTask.java
@@ -0,0 +1,40 @@
+package com.jetbrains.env.ut;
+
+import com.google.common.collect.ImmutableSet;
+import com.intellij.execution.configurations.ConfigurationFactory;
+import com.intellij.openapi.project.Project;
+import com.jetbrains.python.testing.AbstractPythonTestRunConfiguration;
+import com.jetbrains.python.testing.PythonTestConfigurationType;
+import com.jetbrains.python.testing.pytest.PyTestRunConfiguration;
+
+import java.util.Set;
+
+/**
+ * User : catherine
+ */
+public abstract class PyTestTestTask extends PyUnitTestTask {
+ public PyTestTestTask(String workingFolder, String scriptName, String scriptParameters) {
+ super(workingFolder, scriptName, scriptParameters);
+ }
+
+ public PyTestTestTask(String workingFolder, String scriptName) {
+ this(workingFolder, scriptName, null);
+ }
+
+ public void runTestOn(String sdkHome) throws Exception {
+ final Project project = getProject();
+ final ConfigurationFactory factory = PythonTestConfigurationType.getInstance().PY_PYTEST_FACTORY;
+ runConfiguration(factory, sdkHome, project);
+ }
+
+ @Override
+ public Set<String> getTags() {
+ return ImmutableSet.of("pytest");
+ }
+
+ protected void configure(AbstractPythonTestRunConfiguration config) {
+ if (config instanceof PyTestRunConfiguration)
+ ((PyTestRunConfiguration)config).setTestToRun(getScriptPath());
+ }
+
+}