summaryrefslogtreecommitdiff
path: root/python/testSrc/com/jetbrains/env/ut/PyTestTestTask.java
blob: 1e4261188206af9a54a3d2a8aa81039ceea44dbd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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());
  }

}