diff --git a/.travis.yml b/.travis.yml index a538f1c7e..176ade78c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -62,10 +62,10 @@ before_script: ' env: - - TEST_BED_M2_HOME=/home/travis/.arquillian/mvn/apache-maven-3.3.9 + - TEST_BED_M2_HOME=/home/travis/.arquillian/mvn/apache-maven-3.3.9 MAVEN_OPTS="-Xms512m -Xmx1024m -XX:+TieredCompilation -XX:TieredStopAtLevel=1" script: - - ./mvnw clean verify -P travis -DJAVA_OPTS="-XX:-UseLoopPredicate" + - ./mvnw clean verify -P travis -DJAVA_OPTS="-XX:-UseLoopPredicate" -T 100 - 'if [ $GENERATE_DOC -eq 0 ]; then ./.asciidoctor/generate.sh --keep; fi' diff --git a/functional-tests/test-bed/src/main/java/org/arquillian/smart/testing/ftest/testbed/project/BuildConfigurator.java b/functional-tests/test-bed/src/main/java/org/arquillian/smart/testing/ftest/testbed/project/BuildConfigurator.java index a84b8d02b..ef5fc7dde 100644 --- a/functional-tests/test-bed/src/main/java/org/arquillian/smart/testing/ftest/testbed/project/BuildConfigurator.java +++ b/functional-tests/test-bed/src/main/java/org/arquillian/smart/testing/ftest/testbed/project/BuildConfigurator.java @@ -37,9 +37,10 @@ public class BuildConfigurator { private boolean ignoreBuildFailure = false; private boolean skipTests = false; private File workingDirectory; - private String mavenOpts = "-Xms512m -Xmx1024m"; + private String mavenOpts = "-Xms512m -Xmx1024m -XX:+TieredCompilation -XX:TieredStopAtLevel=1"; private String mavenVersion; private Using usingInstallation; + private boolean useThreads = true; BuildConfigurator(ProjectBuilder projectBuilder) { systemProperties.put("surefire.exitTimeout", "-1"); // see http://bit.ly/2vARQ5p @@ -183,11 +184,16 @@ public BuildConfigurator excludeProjects(String... projects) { return this; } - public BuildConfigurator useMavenVersion(String mavenVersion){ + public BuildConfigurator useMavenVersion(String mavenVersion) { this.mavenVersion = mavenVersion; return this; } + public BuildConfigurator useThreads(boolean useThreads){ + this.useThreads = useThreads; + return this; + } + void enableDebugOptions() { if (isRemoteDebugEnabled()) { final String debugOptions = String.format(MVN_DEBUG_AGENT, shouldSuspend(), getRemotePort()); @@ -268,6 +274,10 @@ String getMavenVersion() { return mavenVersion; } + boolean useThreads(){ + return useThreads; + } + private int getAvailableLocalPort() { ServerSocket socket = null; try { diff --git a/functional-tests/test-bed/src/main/java/org/arquillian/smart/testing/ftest/testbed/project/ProjectBuilder.java b/functional-tests/test-bed/src/main/java/org/arquillian/smart/testing/ftest/testbed/project/ProjectBuilder.java index 463815f99..f3d0a4880 100644 --- a/functional-tests/test-bed/src/main/java/org/arquillian/smart/testing/ftest/testbed/project/ProjectBuilder.java +++ b/functional-tests/test-bed/src/main/java/org/arquillian/smart/testing/ftest/testbed/project/ProjectBuilder.java @@ -66,6 +66,7 @@ private BuiltProject executeGoals(String... goals) { final BuiltProject build = embeddedMaven .setShowVersion(true) .setGoals(goals) + .setThreads(buildConfigurator.useThreads() ? "50C" : null) .setProjects(buildConfigurator.getModulesToBeBuilt()) .setDebug(buildConfigurator.isMavenDebugOutputEnabled()) .setQuiet(buildConfigurator.disableQuietWhenAnyDebugModeEnabled() && buildConfigurator.isQuietMode()) diff --git a/functional-tests/test-bed/src/test/java/org/arquillian/smart/testing/ftest/configuration/SurefireForksConfigurationTest.java b/functional-tests/test-bed/src/test/java/org/arquillian/smart/testing/ftest/configuration/SurefireForksConfigurationTest.java index e3026678e..71d46ab8e 100644 --- a/functional-tests/test-bed/src/test/java/org/arquillian/smart/testing/ftest/configuration/SurefireForksConfigurationTest.java +++ b/functional-tests/test-bed/src/test/java/org/arquillian/smart/testing/ftest/configuration/SurefireForksConfigurationTest.java @@ -37,7 +37,7 @@ public void test_with_reuse_forks_false() { @Test public void test_with_fork_count_zero() { - verifyTestSuiteExecution("forkCount", "0"); + verifyTestSuiteExecution(false, "forkCount", "0"); } @Test @@ -57,10 +57,14 @@ public void test_with_multiple_forks_not_reusing_forks() { @Test public void test_with_fork_count_zero_not_reusing_forks() { - verifyTestSuiteExecution("forkCount", "0", "reuseForks", "false"); + verifyTestSuiteExecution(false, "forkCount", "0", "reuseForks", "false"); } - private void verifyTestSuiteExecution(String... systemPropertiesPairs) { + private void verifyTestSuiteExecution(String... systemPropertiesPairs){ + verifyTestSuiteExecution(true, systemPropertiesPairs); + } + + private void verifyTestSuiteExecution(boolean useThreads, String... systemPropertiesPairs) { // given final Project project = testBed.getProject(); @@ -80,6 +84,7 @@ private void verifyTestSuiteExecution(String... systemPropertiesPairs) { .logBuildOutput(false) .withSystemProperties(systemPropertiesPairs) .withSystemProperties(SMART_TESTING_REPORT_ENABLE, "true") + .useThreads(useThreads) .configure() .run();