Skip to content

Commit 9d00830

Browse files
authored
Merge pull request #465 from jenkinsci/jdk25
Add a matrix build for Corretto JDK 25
2 parents 855e338 + 67cb871 commit 9d00830

File tree

4 files changed

+69
-60
lines changed

4 files changed

+69
-60
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
matrix:
1414
platform: [ubuntu-latest, macos-latest, windows-latest]
15-
jdk: [17, 21]
15+
jdk: [17, 21, 25]
1616

1717
runs-on: ${{ matrix.platform }}
1818
name: on ${{ matrix.platform }} with JDK ${{ matrix.jdk }}
@@ -22,7 +22,7 @@ jobs:
2222
- name: Set up JDK ${{ matrix.jdk }}
2323
uses: actions/setup-java@v5
2424
with:
25-
distribution: 'temurin'
25+
distribution: 'corretto'
2626
java-version: '${{ matrix.jdk }}'
2727
check-latest: true
2828
cache: 'maven'

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.jvnet.hudson.plugins</groupId>
66
<artifactId>analysis-pom</artifactId>
7-
<version>10.2715.v615cde31c843</version>
7+
<version>10.2792.v9dd09fb_3c255</version>
88
<relativePath />
99
</parent>
1010

src/test/java/io/jenkins/plugins/util/AgentFileVisitorTest.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
package io.jenkins.plugins.util;
22

3-
import java.io.File;
4-
import java.io.Serial;
5-
import java.nio.charset.Charset;
6-
import java.nio.file.Path;
7-
import java.util.Optional;
8-
93
import org.junit.jupiter.api.DisplayName;
104
import org.junit.jupiter.api.Test;
115
import org.junit.jupiter.api.io.TempDir;
@@ -17,6 +11,12 @@
1711
import edu.hm.hafner.util.VisibleForTesting;
1812
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
1913

14+
import java.io.File;
15+
import java.io.Serial;
16+
import java.nio.charset.Charset;
17+
import java.nio.file.Path;
18+
import java.util.Optional;
19+
2020
import io.jenkins.plugins.util.AgentFileVisitor.FileSystemFacade;
2121
import io.jenkins.plugins.util.AgentFileVisitor.FileVisitorResult;
2222
import io.jenkins.plugins.util.AgentFileVisitorTest.StringScanner;
@@ -191,6 +191,7 @@ protected StringScanner(final String filePattern, final String encoding, final b
191191
}
192192

193193
@Override
194+
@SuppressWarnings("PMD.AssignmentInOperand")
194195
protected Optional<String> processFile(final Path file, final Charset charset, final FilteredLog log) {
195196
return Optional.of(CONTENT + counter++);
196197
}

src/test/java/io/jenkins/plugins/util/LogHandlerTest.java

Lines changed: 59 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
package io.jenkins.plugins.util;
22

3-
import java.io.ByteArrayOutputStream;
4-
import java.io.PrintStream;
5-
63
import org.junit.jupiter.api.Test;
74
import org.junit.jupiter.params.ParameterizedTest;
85
import org.junit.jupiter.params.provider.ValueSource;
96

107
import edu.hm.hafner.util.FilteredLog;
118

9+
import java.io.ByteArrayOutputStream;
10+
import java.io.IOException;
11+
import java.io.PrintStream;
12+
import java.nio.charset.StandardCharsets;
13+
1214
import hudson.model.TaskListener;
1315

1416
import static org.assertj.core.api.Assertions.*;
@@ -28,60 +30,66 @@ class LogHandlerTest {
2830

2931
@ValueSource(booleans = {true, false})
3032
@ParameterizedTest(name = "Log some messages and evaluate quiet flag value (quiet = {0})")
31-
void shouldLogInfoAndErrorMessage(final boolean quiet) {
32-
var outputStream = new ByteArrayOutputStream();
33-
var printStream = new PrintStream(outputStream);
34-
var taskListener = createTaskListener(printStream);
35-
36-
var logger = new FilteredLog("Title");
37-
logger.logInfo(NOT_SHOWN);
38-
logger.logError(NOT_SHOWN);
39-
40-
var logHandler = new LogHandler(taskListener, LOG_HANDLER_NAME, logger);
41-
logHandler.setQuiet(quiet);
42-
43-
logger.logInfo(MESSAGE);
44-
logger.logError(MESSAGE);
45-
46-
logHandler.log(logger);
47-
48-
if (quiet) {
49-
assertThat(outputStream.toString()).isEmpty();
50-
}
51-
else {
52-
assertThat(outputStream).hasToString(String.format(
53-
"[%s] [-ERROR-] %s%n"
54-
+ "[%s] %s%n",
55-
LOG_HANDLER_NAME, MESSAGE, LOG_HANDLER_NAME, MESSAGE));
56-
}
57-
logger.logInfo(ADDITIONAL_MESSAGE);
58-
logger.logError(ADDITIONAL_MESSAGE);
59-
logHandler.log(logger);
60-
61-
if (quiet) {
62-
assertThat(outputStream.toString()).isEmpty();
63-
}
64-
else {
65-
assertThat(outputStream).hasToString(String.format(
66-
"[%s] [-ERROR-] %s%n"
67-
+ "[%s] %s%n"
68-
+ "[%s] [-ERROR-] %s%n"
69-
+ "[%s] %s%n",
70-
LOG_HANDLER_NAME, MESSAGE, LOG_HANDLER_NAME, MESSAGE, LOG_HANDLER_NAME,
71-
ADDITIONAL_MESSAGE, LOG_HANDLER_NAME, ADDITIONAL_MESSAGE));
33+
void shouldLogInfoAndErrorMessage(final boolean quiet) throws IOException {
34+
try (var outputStream = new ByteArrayOutputStream();
35+
var printStream = wrapStream(outputStream)) {
36+
var taskListener = createTaskListener(printStream);
37+
38+
var logger = new FilteredLog("Title");
39+
logger.logInfo(NOT_SHOWN);
40+
logger.logError(NOT_SHOWN);
41+
42+
var logHandler = new LogHandler(taskListener, LOG_HANDLER_NAME, logger);
43+
logHandler.setQuiet(quiet);
44+
45+
logger.logInfo(MESSAGE);
46+
logger.logError(MESSAGE);
47+
48+
logHandler.log(logger);
49+
50+
if (quiet) {
51+
assertThat(outputStream.toString(StandardCharsets.UTF_8)).isEmpty();
52+
}
53+
else {
54+
assertThat(outputStream).hasToString(String.format(
55+
"[%s] [-ERROR-] %s%n"
56+
+ "[%s] %s%n",
57+
LOG_HANDLER_NAME, MESSAGE, LOG_HANDLER_NAME, MESSAGE));
58+
}
59+
logger.logInfo(ADDITIONAL_MESSAGE);
60+
logger.logError(ADDITIONAL_MESSAGE);
61+
logHandler.log(logger);
62+
63+
if (quiet) {
64+
assertThat(outputStream.toString(StandardCharsets.UTF_8)).isEmpty();
65+
}
66+
else {
67+
assertThat(outputStream).hasToString(String.format(
68+
"[%s] [-ERROR-] %s%n"
69+
+ "[%s] %s%n"
70+
+ "[%s] [-ERROR-] %s%n"
71+
+ "[%s] %s%n",
72+
LOG_HANDLER_NAME, MESSAGE, LOG_HANDLER_NAME, MESSAGE, LOG_HANDLER_NAME,
73+
ADDITIONAL_MESSAGE, LOG_HANDLER_NAME, ADDITIONAL_MESSAGE));
74+
}
7275
}
7376
}
7477

7578
@Test
76-
void shouldLogFormattedMessage() {
77-
var outputStream = new ByteArrayOutputStream();
78-
var printStream = new PrintStream(outputStream);
79-
var taskListener = createTaskListener(printStream);
80-
var logHandler = new LogHandler(taskListener, LOG_HANDLER_NAME);
79+
void shouldLogFormattedMessage() throws IOException {
80+
try (var outputStream = new ByteArrayOutputStream();
81+
var printStream = wrapStream(outputStream)) {
82+
var taskListener = createTaskListener(printStream);
83+
var logHandler = new LogHandler(taskListener, LOG_HANDLER_NAME);
84+
85+
logHandler.log(LOGGER_MESSAGE);
8186

82-
logHandler.log(LOGGER_MESSAGE);
87+
assertThat(outputStream).hasToString("[%s] %s%n".formatted(LOG_HANDLER_NAME, LOGGER_MESSAGE));
88+
}
89+
}
8390

84-
assertThat(outputStream).hasToString("[%s] %s%n".formatted(LOG_HANDLER_NAME, LOGGER_MESSAGE));
91+
private PrintStream wrapStream(final ByteArrayOutputStream outputStream) {
92+
return new PrintStream(outputStream, true, StandardCharsets.UTF_8);
8593
}
8694

8795
private TaskListener createTaskListener(final PrintStream printStream) {

0 commit comments

Comments
 (0)