< prev index next >
test/hotspot/jtreg/runtime/ErrorHandling/ErrorHandler.java
Print this page
rev 47862 : imported patch 10.07.open.rebase_20171110.dcubed
rev 47867 : coleenp CR: Change ThreadsList::_threads from 'mtGC' -> 'mtThread', add header comment to threadSMR.hpp file, cleanup JavaThreadIteratorWithHandle ctr, make ErrorHandling more efficient.
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -21,10 +21,11 @@
* questions.
*/
/*
* @test
+ * @requires (vm.debug == true)
* @bug 6888954
* @bug 8015884
* @summary Exercise HotSpot error handling code by invoking java with
* -XX:ErrorHandlerTest option to cause an error report. Check the results.
* @modules java.base/jdk.internal.misc
@@ -37,21 +38,18 @@
import jdk.test.lib.process.OutputAnalyzer;
public class ErrorHandler {
public static OutputAnalyzer runTest(int testcase) throws Exception {
+ // The -XX:ErrorHandlerTest=N option requires debug bits.
return new OutputAnalyzer(
ProcessTools.createJavaProcessBuilder(
"-XX:-TransmitErrorReport", "-XX:-CreateCoredumpOnCrash", "-XX:ErrorHandlerTest=" + testcase)
.start());
}
public static void main(String[] args) throws Exception {
- // Test is only applicable for debug builds
- if (!Platform.isDebugBuild()) {
- return;
- }
// Keep this in sync with hotspot/src/share/vm/utilities/debug.cpp
int i = 1;
String[] strings = {
"assert(str == NULL) failed: expected null",
"assert(num == 1023 && *str == 'X') failed: num=",
@@ -67,10 +65,14 @@
};
String[] patterns = {
"(SIGILL|SIGSEGV|EXCEPTION_ACCESS_VIOLATION).* at pc=",
"(SIGBUS|SIGSEGV|SIGILL|EXCEPTION_ACCESS_VIOLATION).* at pc="
+ // -XX:ErrorHandlerTest=14 is tested by SafeFetchInErrorHandlingTest.java
+ // -XX:ErrorHandlerTest=15 is tested by SecondaryErrorTest.java
+ // -XX:ErrorHandlerTest=16 is tested by ThreadsListHandleInErrorHandlingTest.java
+ // -XX:ErrorHandlerTest=17 is tested by NestedThreadsListHandleInErrorHandlingTest.java
};
for (String s : strings) {
runTest(i++).shouldContain(s);
}
< prev index next >