mirror of
https://github.com/mapstruct/mapstruct.git
synced 2025-07-12 00:00:08 +08:00
#667 Add/Fix javadoc, clarify supported modes of concurrency.
This commit is contained in:
parent
aba26328ba
commit
58e7079ad5
@ -33,7 +33,7 @@ import org.mapstruct.ap.testutil.compilation.annotation.ProcessorOption;
|
||||
/**
|
||||
* A JUnit4 runner for Annotation Processor tests.
|
||||
* <p>
|
||||
* Test classes are safe to be executed in parallel, the methods must not executed in parallel.
|
||||
* Test classes are safe to be executed in parallel, but test methods are not safe to be executed in parallel.
|
||||
* <p>
|
||||
* The classes to be compiled for a given test method must be specified via {@link WithClasses}. In addition the
|
||||
* following things can be configured optionally :
|
||||
|
@ -20,6 +20,12 @@ package org.mapstruct.ap.testutil.runner;
|
||||
|
||||
import org.mapstruct.ap.testutil.compilation.model.CompilationOutcomeDescriptor;
|
||||
|
||||
/**
|
||||
* Remembers the last {@link CompilationRequest} together with the outcome of that request. Consecutive tests that
|
||||
* request the same compilation can reuse the results from this holder.
|
||||
*
|
||||
* @author Andreas Gudian
|
||||
*/
|
||||
class CompilationCache {
|
||||
private String lastSourceOutputDir;
|
||||
private CompilationRequest lastRequest;
|
||||
|
@ -30,7 +30,7 @@ import org.mapstruct.ap.MappingProcessor;
|
||||
import org.mapstruct.ap.testutil.compilation.model.CompilationOutcomeDescriptor;
|
||||
|
||||
/**
|
||||
* Statement that uses the JDK compiler to compile.
|
||||
* Statement that uses the Eclipse JDT compiler to compile.
|
||||
*
|
||||
* @author Andreas Gudian
|
||||
*/
|
||||
|
@ -39,7 +39,11 @@ import org.mapstruct.ap.testutil.assertions.JavaFileAssert;
|
||||
*/
|
||||
public class GeneratedSource implements TestRule {
|
||||
|
||||
private static ThreadLocal<CompilingStatement> compilingStatement = new ThreadLocal<CompilingStatement>();;
|
||||
/**
|
||||
* static ThreadLocal, as the {@link CompilingStatement} must inject itself statically for this rule to gain access
|
||||
* to the statement's information. As test execution of different classes in parallel is supported.
|
||||
*/
|
||||
private static ThreadLocal<CompilingStatement> compilingStatement = new ThreadLocal<CompilingStatement>();
|
||||
|
||||
@Override
|
||||
public Statement apply(Statement base, Description description) {
|
||||
|
@ -24,24 +24,10 @@ import org.junit.runners.BlockJUnit4ClassRunner;
|
||||
import org.junit.runners.model.FrameworkMethod;
|
||||
import org.junit.runners.model.Statement;
|
||||
import org.junit.runners.model.TestClass;
|
||||
import org.mapstruct.ap.testutil.WithClasses;
|
||||
import org.mapstruct.ap.testutil.compilation.annotation.ExpectedCompilationOutcome;
|
||||
import org.mapstruct.ap.testutil.compilation.annotation.ProcessorOption;
|
||||
|
||||
/**
|
||||
* A JUnit4 runner for Annotation Processor tests.
|
||||
* <p>
|
||||
* Test classes and test methods are safe to be executed in parallel.
|
||||
* <p>
|
||||
* The classes to be compiled for a given test method must be specified via {@link WithClasses}. In addition the
|
||||
* following things can be configured optionally :
|
||||
* <ul>
|
||||
* <li>Processor options to be considered during compilation via {@link ProcessorOption}.</li>
|
||||
* <li>The expected compilation outcome and expected diagnostics can be specified via {@link ExpectedCompilationOutcome}
|
||||
* . If no outcome is specified, a successful compilation is assumed.</li>
|
||||
* </ul>
|
||||
* Internal test runner that runs the tests of one class for one specific compiler implementation.
|
||||
*
|
||||
* @author Gunnar Morling
|
||||
* @author Andreas Gudian
|
||||
*/
|
||||
class InnerAnnotationProcessorRunner extends BlockJUnit4ClassRunner {
|
||||
|
Loading…
x
Reference in New Issue
Block a user