import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiElement;
import com.jetbrains.edu.coursecreator.CCUtils;
+import com.jetbrains.edu.coursecreator.PyCCLanguageManager;
import com.jetbrains.edu.learning.StudyUtils;
import com.jetbrains.edu.learning.core.EduNames;
import com.jetbrains.edu.learning.courseFormat.Task;
if (task == null) {
return null;
}
- return task.getLesson().getName() + "/" + task.getName();
+ String generatedName = task.getLesson().getName() + "/" + task.getName();
+ if (task.hasSubtasks()) {
+ int index = task.getActiveSubtaskIndex() + 1;
+ generatedName += " " + index;
+ }
+ return generatedName;
}
@Nullable
if (task == null) {
return null;
}
- String testsFileName = EduNames.TESTS_FILE;
+ String testsFileName = PyCCLanguageManager.getSubtaskTestsFileName(task.getActiveSubtaskIndex());
String taskDirPath = FileUtil.toSystemDependentName(taskDir.getPath());
String testsPath = taskDir.findChild(EduNames.SRC) != null ?
FileUtil.join(taskDirPath, EduNames.SRC, testsFileName) :
import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.util.io.FileUtil;
+import com.intellij.openapi.util.io.FileUtilRt;
import com.intellij.openapi.vfs.VirtualFile;
import com.jetbrains.edu.learning.checker.StudyTestRunner;
+import com.jetbrains.edu.learning.core.EduNames;
import com.jetbrains.edu.learning.courseFormat.Course;
import com.jetbrains.edu.learning.courseFormat.Task;
import com.jetbrains.python.sdk.PythonSdkType;
}
String testsFileName = manager.getTestFileName();
+ if (myTask.hasSubtasks()) {
+ testsFileName = FileUtil.getNameWithoutExtension(testsFileName);
+ int index = myTask.getActiveSubtaskIndex() + 1;
+ testsFileName += EduNames.SUBTASK_MARKER + index + "." + FileUtilRt.getExtension(manager.getTestFileName());
+ }
final File testRunner = new File(myTaskDir.getPath(), testsFileName);
final GeneralCommandLine commandLine = new GeneralCommandLine();
commandLine.withWorkDirectory(myTaskDir.getPath());