in surefire-booter/src/main/java/org/apache/maven/surefire/booter/BooterDeserializer.java [82:141]
public ProviderConfiguration deserialize() {
final File reportsDirectory = new File(properties.getProperty(REPORTSDIRECTORY));
final String testNgVersion = properties.getProperty(TESTARTIFACT_VERSION);
final String testArtifactClassifier = properties.getProperty(TESTARTIFACT_CLASSIFIER);
final TypeEncodedValue typeEncodedTestForFork = properties.getTypeEncodedValue(FORKTESTSET);
final boolean preferTestsFromInStream = properties.getBooleanProperty(FORKTESTSET_PREFER_TESTS_FROM_IN_STREAM);
final String requestedTest = properties.getProperty(REQUESTEDTEST);
final File sourceDirectory = properties.getFileProperty(SOURCE_DIRECTORY);
final List<String> excludes = properties.getStringList(EXCLUDES_PROPERTY_PREFIX);
final List<String> includes = properties.getStringList(INCLUDES_PROPERTY_PREFIX);
final List<String> specificTests = properties.getStringList(SPECIFIC_TEST_PROPERTY_PREFIX);
final List<String> testSuiteXmlFiles = properties.getStringList(TEST_SUITE_XML_FILES);
final File testClassesDirectory = properties.getFileProperty(TEST_CLASSES_DIRECTORY);
final String runOrder = properties.getProperty(RUN_ORDER);
final Long runOrderRandomSeed = properties.getLongProperty(RUN_ORDER_RANDOM_SEED);
final String runStatisticsFile = properties.getProperty(RUN_STATISTICS_FILE);
final int rerunFailingTestsCount = properties.getIntProperty(RERUN_FAILING_TESTS_COUNT);
DirectoryScannerParameters dirScannerParams =
new DirectoryScannerParameters(testClassesDirectory, includes, excludes, specificTests, runOrder);
RunOrderParameters runOrderParameters = new RunOrderParameters(
runOrder, runStatisticsFile == null ? null : new File(runStatisticsFile), runOrderRandomSeed);
TestArtifactInfo testNg = new TestArtifactInfo(testNgVersion, testArtifactClassifier);
TestRequest testSuiteDefinition = new TestRequest(
testSuiteXmlFiles, sourceDirectory, new TestListResolver(requestedTest), rerunFailingTestsCount);
ReporterConfiguration reporterConfiguration =
new ReporterConfiguration(reportsDirectory, properties.getBooleanProperty(ISTRIMSTACKTRACE));
Collection<String> cli = properties.getStringList(MAIN_CLI_OPTIONS);
int failFastCount = properties.getIntProperty(FAIL_FAST_COUNT);
Shutdown shutdown = Shutdown.valueOf(properties.getProperty(SHUTDOWN));
String systemExitTimeoutAsString = properties.getProperty(SYSTEM_EXIT_TIMEOUT);
Integer systemExitTimeout =
systemExitTimeoutAsString == null ? null : Integer.valueOf(systemExitTimeoutAsString);
return new ProviderConfiguration(
dirScannerParams,
runOrderParameters,
reporterConfiguration,
testNg,
testSuiteDefinition,
properties.getProperties(),
typeEncodedTestForFork,
preferTestsFromInStream,
fromStrings(cli),
failFastCount,
shutdown,
systemExitTimeout);
}