protected Object createRootDescription(String[] args, String configName) throws InstantiationException, IllegalAccessException, ClassNotFoundException { myTestRunner = (IdeaTestRunner) JUnitStarter.getAgentClass((String) myNewArgs.get(0)).newInstance(); myTestRunner.setStreams(myOut, myErr, 0); return myTestRunner.getTestToStart(args, configName); }
protected List createPerModuleArgs( String packageName, String workingDir, List classNames, Object rootDescription) throws IOException { File tempFile = File.createTempFile("idea_junit", ".tmp"); tempFile.deleteOnExit(); JUnitStarter.printClassesList( classNames, packageName + ", working directory: \'" + workingDir + "\'", "", tempFile); final OutputObjectRegistry registry = myTestRunner.getRegistry(); final String startIndex; if (registry != null) { startIndex = String.valueOf( registry.getKnownObject( findByClassName((String) classNames.get(0), rootDescription))); } else { startIndex = "-1"; } final List childArgs = new ArrayList(); childArgs.add(startIndex); childArgs.add("@" + tempFile.getAbsolutePath()); childArgs.addAll(myNewArgs); return childArgs; }