@@ -76,7 +76,7 @@ public JPackageCommand(JPackageCommand cmd) {
76
76
prerequisiteActions = new Actions (cmd .prerequisiteActions );
77
77
verifyActions = new Actions (cmd .verifyActions );
78
78
appLayoutAsserts = cmd .appLayoutAsserts ;
79
- outputValidator = cmd .outputValidator ;
79
+ outputValidators = cmd .outputValidators ;
80
80
executeInDirectory = cmd .executeInDirectory ;
81
81
winMsiLogFile = cmd .winMsiLogFile ;
82
82
}
@@ -708,12 +708,9 @@ public JPackageCommand validateOutput(TKit.TextStreamVerifier validator) {
708
708
}
709
709
710
710
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 );
717
714
return this ;
718
715
}
719
716
@@ -834,7 +831,7 @@ public Executor.Result execute(int expectedExitCode) {
834
831
.createExecutor ()
835
832
.execute (expectedExitCode );
836
833
837
- if ( outputValidator != null ) {
834
+ for ( final var outputValidator : outputValidators ) {
838
835
outputValidator .accept (result .getOutput ().stream ());
839
836
}
840
837
@@ -1234,7 +1231,7 @@ public void run() {
1234
1231
private Path executeInDirectory ;
1235
1232
private Path winMsiLogFile ;
1236
1233
private Set <AppLayoutAssert > appLayoutAsserts = Set .of (AppLayoutAssert .values ());
1237
- private Consumer <Stream <String >> outputValidator ;
1234
+ private List < Consumer <Stream <String >>> outputValidators = new ArrayList <>() ;
1238
1235
private static boolean defaultWithToolProvider ;
1239
1236
1240
1237
private static final Map <String , PackageType > PACKAGE_TYPES = Functional .identity (
0 commit comments