@Override public void processTestClass(TestClassRunInfo testClass) { TestClassProcessor processor; if (processors.size() < maxProcessors) { processor = factory.create(); Actor actor = actorFactory.createActor(processor); processor = actor.getProxy(TestClassProcessor.class); actors.add(actor); processors.add(processor); processor.startProcessing(resultProcessor); } else { processor = processors.get(pos); pos = (pos + 1) % processors.size(); } processor.processTestClass(testClass); }
private void startReceivingTests(WorkerProcessContext workerProcessContext, ServiceRegistry testServices) { TestClassProcessor targetProcessor = factory.create(testServices); IdGenerator<Object> idGenerator = testServices.get(IdGenerator.class); targetProcessor = new WorkerTestClassProcessor(targetProcessor, idGenerator.generateId(), workerProcessContext.getDisplayName(), testServices.get(TimeProvider.class)); ContextClassLoaderProxy<TestClassProcessor> proxy = new ContextClassLoaderProxy<TestClassProcessor>( TestClassProcessor.class, targetProcessor, workerProcessContext.getApplicationClassLoader()); processor = proxy.getSource(); ObjectConnection serverConnection = workerProcessContext.getServerConnection(); serverConnection.useParameterSerializers(TestEventSerializer.create()); this.resultProcessor = serverConnection.addOutgoing(TestResultProcessor.class); serverConnection.addIncoming(RemoteTestClassProcessor.class, this); serverConnection.connect(); }
private void startReceivingTests(WorkerProcessContext workerProcessContext, ServiceRegistry testServices) { TestClassProcessor targetProcessor = factory.create(testServices); IdGenerator<Object> idGenerator = testServices.get(IdGenerator.class); targetProcessor = new WorkerTestClassProcessor(targetProcessor, idGenerator.generateId(), workerProcessContext.getDisplayName(), new TrueTimeProvider()); ContextClassLoaderProxy<TestClassProcessor> proxy = new ContextClassLoaderProxy<TestClassProcessor>( TestClassProcessor.class, targetProcessor, workerProcessContext.getApplicationClassLoader()); processor = proxy.getSource(); ObjectConnection serverConnection = workerProcessContext.getServerConnection(); serverConnection.useParameterSerializer(new TestEventSerializer()); this.resultProcessor = serverConnection.addOutgoing(TestResultProcessor.class); serverConnection.addIncoming(RemoteTestClassProcessor.class, this); serverConnection.connect(); }
@Override public void execute(final Test testTask, TestResultProcessor testResultProcessor) { final TestFramework testFramework = testTask.getTestFramework(); final WorkerTestClassProcessorFactory testInstanceFactory = testFramework.getProcessorFactory(); final BuildOperationWorkerRegistry.Operation currentOperation = buildOperationWorkerRegistry.getCurrent(); final Set<File> classpath = ImmutableSet.copyOf(testTask.getClasspath()); final Factory<TestClassProcessor> forkingProcessorFactory = new Factory<TestClassProcessor>() { public TestClassProcessor create() { return new ForkingTestClassProcessor(workerFactory, testInstanceFactory, testTask, classpath, testFramework.getWorkerConfigurationAction(), moduleRegistry, currentOperation); } }; Factory<TestClassProcessor> reforkingProcessorFactory = new Factory<TestClassProcessor>() { public TestClassProcessor create() { return new RestartEveryNTestClassProcessor(forkingProcessorFactory, testTask.getForkEvery()); } }; TestClassProcessor processor = new MaxNParallelTestClassProcessor(testTask.getMaxParallelForks(), reforkingProcessorFactory, actorFactory); final FileTree testClassFiles = testTask.getCandidateClassFiles(); Runnable detector; if (testTask.isScanForTestClasses()) { TestFrameworkDetector testFrameworkDetector = testTask.getTestFramework().getDetector(); testFrameworkDetector.setTestClassesDirectory(testTask.getTestClassesDir()); testFrameworkDetector.setTestClasspath(classpath); detector = new DefaultTestClassScanner(testClassFiles, testFrameworkDetector, processor); } else { detector = new DefaultTestClassScanner(testClassFiles, null, processor); } final Object testTaskOperationId = buildOperationExecutor.getCurrentOperation().getId(); new TestMainAction(detector, processor, testResultProcessor, new TrueTimeProvider(), testTaskOperationId, testTask.getPath(), "Gradle Test Run " + testTask.getIdentityPath()).run(); }
public void processTestClass(TestClassRunInfo testClass) { TestClassProcessor processor; if (processors.size() < maxProcessors) { processor = factory.create(); Actor actor = actorFactory.createActor(processor); processor = actor.getProxy(TestClassProcessor.class); actors.add(actor); processors.add(processor); processor.startProcessing(resultProcessor); } else { processor = processors.get(pos); pos = (pos + 1) % processors.size(); } processor.processTestClass(testClass); }
public void execute(final Test testTask, TestResultProcessor testResultProcessor) { final TestFramework testFramework = testTask.getTestFramework(); final WorkerTestClassProcessorFactory testInstanceFactory = testFramework.getProcessorFactory(); final Factory<TestClassProcessor> forkingProcessorFactory = new Factory<TestClassProcessor>() { public TestClassProcessor create() { return new ForkingTestClassProcessor(workerFactory, testInstanceFactory, testTask, testTask.getClasspath(), testFramework.getWorkerConfigurationAction()); } }; Factory<TestClassProcessor> reforkingProcessorFactory = new Factory<TestClassProcessor>() { public TestClassProcessor create() { return new RestartEveryNTestClassProcessor(forkingProcessorFactory, testTask.getForkEvery()); } }; TestClassProcessor processor = new MaxNParallelTestClassProcessor(testTask.getMaxParallelForks(), reforkingProcessorFactory, actorFactor); final FileTree testClassFiles = testTask.getCandidateClassFiles(); Runnable detector; if (testTask.isScanForTestClasses()) { TestFrameworkDetector testFrameworkDetector = testTask.getTestFramework().getDetector(); testFrameworkDetector.setTestClassesDirectory(testTask.getTestClassesDir()); testFrameworkDetector.setTestClasspath(testTask.getClasspath()); detector = new DefaultTestClassScanner(testClassFiles, testFrameworkDetector, processor); } else { detector = new DefaultTestClassScanner(testClassFiles, null, processor); } new TestMainAction(detector, processor, testResultProcessor, new TrueTimeProvider()).run(); }
public RestartEveryNTestClassProcessor(Factory<TestClassProcessor> factory, long restartEvery) { this.factory = factory; this.restartEvery = restartEvery; }
public MaxNParallelTestClassProcessor(int maxProcessors, Factory<TestClassProcessor> factory, ActorFactory actorFactory) { this.maxProcessors = maxProcessors; this.factory = factory; this.actorFactory = actorFactory; }
@Override public TestClassProcessor create(ServiceRegistry serviceRegistry) { return new TestNGTestClassProcessor(testReportDir, options, suiteFiles, serviceRegistry.get(IdGenerator.class), serviceRegistry.get(TimeProvider.class), serviceRegistry.get(ActorFactory.class)); }
@Override public TestClassProcessor create(ServiceRegistry serviceRegistry) { return new JUnitTestClassProcessor(spec, serviceRegistry.get(IdGenerator.class), serviceRegistry.get(ActorFactory.class), serviceRegistry.get(TimeProvider.class)); }
public DefaultTestClassScanner(FileTree candidateClassFiles, TestFrameworkDetector testFrameworkDetector, TestClassProcessor testClassProcessor) { this.candidateClassFiles = candidateClassFiles; this.testFrameworkDetector = testFrameworkDetector; this.testClassProcessor = testClassProcessor; }
@Override public void startDetection(TestClassProcessor testClassProcessor) { this.testClassProcessor = testClassProcessor; }
public EclipsePluginTestClassScanner(FileTree candidateClassFiles, TestClassProcessor testClassProcessor) { this.candidateClassFiles = candidateClassFiles; this.testClassProcessor = testClassProcessor; }
@Override public void execute(final Test testTask, TestResultProcessor testResultProcessor) { final TestFramework testFramework = testTask.getTestFramework(); final WorkerTestClassProcessorFactory testInstanceFactory = testFramework.getProcessorFactory(); final Set<File> classpath = ImmutableSet.copyOf(testTask.getClasspath()); final Factory<TestClassProcessor> forkingProcessorFactory = new Factory<TestClassProcessor>() { public TestClassProcessor create() { return new ForkingTestClassProcessor(workerFactory, testInstanceFactory, testTask, classpath, testFramework.getWorkerConfigurationAction(), moduleRegistry); } }; Factory<TestClassProcessor> reforkingProcessorFactory = new Factory<TestClassProcessor>() { public TestClassProcessor create() { return new RestartEveryNTestClassProcessor(forkingProcessorFactory, testTask.getForkEvery()); } }; TestClassProcessor processor = new MaxNParallelTestClassProcessor(testTask.getMaxParallelForks(), reforkingProcessorFactory, actorFactory); final FileTree testClassFiles = testTask.getCandidateClassFiles(); Runnable detector; if (testTask.isScanForTestClasses()) { TestFrameworkDetector testFrameworkDetector = testTask.getTestFramework().getDetector(); testFrameworkDetector.setTestClasses(testTask.getTestClassesDirs().getFiles()); testFrameworkDetector.setTestClasspath(classpath); detector = new DefaultTestClassScanner(testClassFiles, testFrameworkDetector, processor); } else { detector = new DefaultTestClassScanner(testClassFiles, null, processor); } Object testTaskOperationId; try { testTaskOperationId = buildOperationExecutor.getCurrentOperation().getParentId(); } catch (Exception e) { testTaskOperationId = UUID.randomUUID(); } new TestMainAction(detector, processor, testResultProcessor, clock, testTaskOperationId, testTask.getPath(), "Gradle Test Run " + testTask.getIdentityPath()).run(); }
public TestClassProcessor create(ServiceRegistry serviceRegistry) { return new TestNGTestClassProcessor(testReportDir, options, suiteFiles, serviceRegistry.get(IdGenerator.class), new JULRedirector()); }
public TestClassProcessor create(ServiceRegistry serviceRegistry) { return new JUnitTestClassProcessor(spec, serviceRegistry.get(IdGenerator.class), serviceRegistry.get(ActorFactory.class), new JULRedirector()); }
public TestMainAction(Runnable detector, TestClassProcessor processor, TestResultProcessor resultProcessor, TimeProvider timeProvider) { this.detector = detector; this.processor = processor; this.resultProcessor = new AttachParentTestResultProcessor(resultProcessor); this.timeProvider = timeProvider; }
public void startDetection(TestClassProcessor testClassProcessor) { this.testClassProcessor = testClassProcessor; }
void startDetection(TestClassProcessor testClassProcessor);