RFR: 8333813: Seviceability tests fail due to stderr containing Temporarily processing option UseNotificationThread

Jaikiran Pai jpai at openjdk.org
Sat Jun 8 07:10:11 UTC 2024


On Sat, 8 Jun 2024 06:53:21 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

>> test/lib/jdk/test/lib/process/OutputAnalyzer.java line 187:
>> 
>>> 185:      *             If stderr was not empty
>>> 186:      */
>>> 187:     public OutputAnalyzer stderrShouldBeEmptyIgnoreDeprecatedWarnings() {
>> 
>> Maybe this should be renamed to reflect that it is about VM option warnings.
>
> Possibly. It means updating 15 tests. Also need to come up with a new name. Any suggestions?

Hello Chris, given these similary named methods in this class, perhaps we should instead just have one single `stderrShouldBeEmptyIgnoring(...)` method which takes the messages that should be ignored. Something like:


public static final String VM_WARNING_MSG = ".* VM warning:.*";

public static final String VM_WARNING_DEPRECATED_MSG = ".* VM warning:.* deprecated.*";
...

public OutputAnalyzer stderrShouldBeEmptyIgnoring(String ignoreMsg, String... additionalIgnoreMsgs) {
    String stdErrContent = getStderr().replaceAll(ignoreMsg + "\\R", "");
    if (additionalIgnoreMsgs != null) {
    	for (String additionalIgnore : additionalIgnoreMsgs) {
    		stdErrContent = getStderr().replaceAll(additionalIgnore + "\\R", "");
    	}
    }
    if (!stdErrContent.isEmpty()) {
    	reportDiagnosticSummary();
    	throw new RuntimeException("stderr was not empty");
    }
    return this;
}


We make those private fields in OutputAnalyzer public and have the caller pass them:


oa.stderrShouldBeEmptyIgnoring(OutputAnalyzer.VM_WARNING_DEPRECATED_MSG)

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/19606#discussion_r1631923540


More information about the serviceability-dev mailing list