< 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 **** /* ! * Copyright (c) 2015, 2016, 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. --- 1,7 ---- /* ! * 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,30 **** --- 21,31 ---- * 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,57 **** import jdk.test.lib.process.OutputAnalyzer; public class ErrorHandler { public static OutputAnalyzer runTest(int testcase) throws Exception { 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=", --- 38,55 ---- 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 { // 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,76 **** --- 65,78 ---- }; 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 >