mirror of
https://github.com/openjdk/jdk.git
synced 2026-04-17 10:20:33 +00:00
8177059: [TESTBUG] gc/g1/TestGCLogMessages.java fails on 32bit arm after changes for JDK-8155094
Provide a way in the test to check log messages on arbitrary conditions and implement this for this case. Reviewed-by: mchernov, sjohanss
This commit is contained in:
parent
94035de947
commit
5fdddaf351
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -23,7 +23,7 @@
|
||||
|
||||
/*
|
||||
* @test TestGCLogMessages
|
||||
* @bug 8035406 8027295 8035398 8019342 8027959 8048179 8027962 8069330 8076463 8150630 8160055
|
||||
* @bug 8035406 8027295 8035398 8019342 8027959 8048179 8027962 8069330 8076463 8150630 8160055 8177059
|
||||
* @summary Ensure the output for a minor GC with G1
|
||||
* includes the expected necessary messages.
|
||||
* @key gc
|
||||
@ -38,6 +38,7 @@
|
||||
|
||||
import jdk.test.lib.process.OutputAnalyzer;
|
||||
import jdk.test.lib.process.ProcessTools;
|
||||
import jdk.test.lib.Platform;
|
||||
|
||||
public class TestGCLogMessages {
|
||||
|
||||
@ -70,8 +71,22 @@ public class TestGCLogMessages {
|
||||
this.message = message;
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
public boolean isAvailable() {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
private class LogMessageWithLevelC2OrJVMCIOnly extends LogMessageWithLevel {
|
||||
public LogMessageWithLevelC2OrJVMCIOnly(String message, Level level) {
|
||||
super(message, level);
|
||||
}
|
||||
|
||||
public boolean isAvailable() {
|
||||
return Platform.isGraal() || Platform.isServer();
|
||||
}
|
||||
}
|
||||
|
||||
private LogMessageWithLevel allLogMessages[] = new LogMessageWithLevel[] {
|
||||
new LogMessageWithLevel("Pre Evacuate Collection Set", Level.INFO),
|
||||
new LogMessageWithLevel("Evacuate Collection Set", Level.INFO),
|
||||
@ -119,13 +134,13 @@ public class TestGCLogMessages {
|
||||
new LogMessageWithLevel("Prepare TLABs", Level.DEBUG),
|
||||
new LogMessageWithLevel("Resize TLABs", Level.DEBUG),
|
||||
|
||||
new LogMessageWithLevel("DerivedPointerTable Update", Level.DEBUG),
|
||||
new LogMessageWithLevelC2OrJVMCIOnly("DerivedPointerTable Update", Level.DEBUG),
|
||||
new LogMessageWithLevel("Start New Collection Set", Level.DEBUG),
|
||||
};
|
||||
|
||||
void checkMessagesAtLevel(OutputAnalyzer output, LogMessageWithLevel messages[], Level level) throws Exception {
|
||||
for (LogMessageWithLevel l : messages) {
|
||||
if (level.lessThan(l.level)) {
|
||||
if (level.lessThan(l.level) || !l.isAvailable()) {
|
||||
output.shouldNotContain(l.message);
|
||||
} else {
|
||||
output.shouldMatch("\\[" + l.level + ".*" + l.message);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user