Skip to content

Commit 4fc37b2

Browse files
Support multiple output validators in JPackageCommand
1 parent f2cd651 commit 4fc37b2

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public JPackageCommand(JPackageCommand cmd) {
7676
prerequisiteActions = new Actions(cmd.prerequisiteActions);
7777
verifyActions = new Actions(cmd.verifyActions);
7878
appLayoutAsserts = cmd.appLayoutAsserts;
79-
outputValidator = cmd.outputValidator;
79+
outputValidators = cmd.outputValidators;
8080
executeInDirectory = cmd.executeInDirectory;
8181
winMsiLogFile = cmd.winMsiLogFile;
8282
}
@@ -708,12 +708,9 @@ public JPackageCommand validateOutput(TKit.TextStreamVerifier validator) {
708708
}
709709

710710
public JPackageCommand validateOutput(Consumer<Stream<String>> validator) {
711-
if (validator != null) {
712-
saveConsoleOutput(true);
713-
outputValidator = validator;
714-
} else {
715-
outputValidator = null;
716-
}
711+
Objects.requireNonNull(validator);
712+
saveConsoleOutput(true);
713+
outputValidators.add(validator);
717714
return this;
718715
}
719716

@@ -834,7 +831,7 @@ public Executor.Result execute(int expectedExitCode) {
834831
.createExecutor()
835832
.execute(expectedExitCode);
836833

837-
if (outputValidator != null) {
834+
for (final var outputValidator: outputValidators) {
838835
outputValidator.accept(result.getOutput().stream());
839836
}
840837

@@ -1234,7 +1231,7 @@ public void run() {
12341231
private Path executeInDirectory;
12351232
private Path winMsiLogFile;
12361233
private Set<AppLayoutAssert> appLayoutAsserts = Set.of(AppLayoutAssert.values());
1237-
private Consumer<Stream<String>> outputValidator;
1234+
private List<Consumer<Stream<String>>> outputValidators = new ArrayList<>();
12381235
private static boolean defaultWithToolProvider;
12391236

12401237
private static final Map<String, PackageType> PACKAGE_TYPES = Functional.identity(

0 commit comments

Comments
 (0)