diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java index e0ed45c3a424..5a8bb5523dad 100644 --- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java +++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java @@ -1453,7 +1453,8 @@ private MavenExecutionRequest populateRequest(CliRequest cliRequest, MavenExecut return request; } - int calculateDegreeOfConcurrency(String threadConfiguration) { + int calculateDegreeOfConcurrency(String originalThreadConfiguration) { + String threadConfiguration = originalThreadConfiguration.trim(); if (threadConfiguration.endsWith("C")) { threadConfiguration = threadConfiguration.substring(0, threadConfiguration.length() - 1); diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java index e5fd93acb078..108667ed073f 100644 --- a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java +++ b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java @@ -82,10 +82,18 @@ public void testCalculateDegreeOfConcurrency() { assertThrows(IllegalArgumentException.class, () -> cli.calculateDegreeOfConcurrency("2C2")); assertThrows(IllegalArgumentException.class, () -> cli.calculateDegreeOfConcurrency("CXXX")); assertThrows(IllegalArgumentException.class, () -> cli.calculateDegreeOfConcurrency("XXXC")); + assertThrows(IllegalArgumentException.class, () -> cli.calculateDegreeOfConcurrency("1c")); + assertThrows(IllegalArgumentException.class, () -> cli.calculateDegreeOfConcurrency(" 1c")); + assertThrows(IllegalArgumentException.class, () -> cli.calculateDegreeOfConcurrency("1c ")); + assertThrows(IllegalArgumentException.class, () -> cli.calculateDegreeOfConcurrency(" 1c ")); int cpus = Runtime.getRuntime().availableProcessors(); assertEquals((int) (cpus * 2.2), cli.calculateDegreeOfConcurrency("2.2C")); assertEquals(1, cli.calculateDegreeOfConcurrency("0.0001C")); + assertEquals(1 * cpus, cli.calculateDegreeOfConcurrency(" 1C")); + assertEquals(1 * cpus, cli.calculateDegreeOfConcurrency(" 1C ")); + assertEquals(1, cli.calculateDegreeOfConcurrency(" 1")); + assertEquals(1, cli.calculateDegreeOfConcurrency(" 1 ")); assertThrows(IllegalArgumentException.class, () -> cli.calculateDegreeOfConcurrency("-2.2C")); assertThrows(IllegalArgumentException.class, () -> cli.calculateDegreeOfConcurrency("0C")); }