hotspot/test/runtime/ErrorHandling/ProblematicFrameTest.java
author minqi
Wed, 15 Apr 2015 17:34:28 -0700
changeset 30240 a7ba42fa1df6
parent 29678 dd2f3932c21e
child 30604 b8d532cb6420
permissions -rw-r--r--
8074354: Make CreateMinidumpOnCrash a new name and available on all platforms Summary: Rename CreateMinidumpOnCrash which is used only for Windows as CreateCoredumpOnCrash and make it available for all platforms. Changed order for dumping core on Windows to be similar on other platforms. Also reviewed by thomas.stuefe@gmail.com Reviewed-by: dcubed Contributed-by: yumin.qi@oracle.com, thomas.stuefe@gmail.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
27173
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
     1
/*
28623
c6d1cfa63594 8062961: [TESTBUG] Spurious timeout for runtime/ErrorHandling/ProblematicFrameTest
ctornqvi
parents: 27173
diff changeset
     2
 * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
27173
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
     4
 *
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
     7
 * published by the Free Software Foundation.
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
     8
 *
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    13
 * accompanied this code).
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    14
 *
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    18
 *
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    21
 * questions.
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    22
 */
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    23
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    24
/*
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    25
 * @test
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    26
 * @bug 8050167
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    27
 * @summary Test that error is not occurred during printing problematic frame
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    28
 * @library /testlibrary
29678
dd2f3932c21e 8075586: Add @modules as needed to the open hotspot tests
ykantser
parents: 28623
diff changeset
    29
 * @modules java.base/sun.misc
dd2f3932c21e 8075586: Add @modules as needed to the open hotspot tests
ykantser
parents: 28623
diff changeset
    30
 *          java.compiler
dd2f3932c21e 8075586: Add @modules as needed to the open hotspot tests
ykantser
parents: 28623
diff changeset
    31
 *          java.management
dd2f3932c21e 8075586: Add @modules as needed to the open hotspot tests
ykantser
parents: 28623
diff changeset
    32
 *          jdk.jvmstat/sun.jvmstat.monitor
27173
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    33
 * @build com.oracle.java.testlibrary.*
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    34
 * @run driver ProblematicFrameTest
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    35
 */
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    36
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    37
import com.oracle.java.testlibrary.*;
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    38
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    39
import sun.misc.Unsafe;
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    40
import com.oracle.java.testlibrary.Utils;
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    41
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    42
public class ProblematicFrameTest {
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    43
    private static class Crasher {
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    44
        public static void main(String[] args) {
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    45
            Utils.getUnsafe().getInt(0);
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    46
        }
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    47
    }
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    48
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    49
    public static void main(String[] args) throws Exception {
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    50
        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
30240
a7ba42fa1df6 8074354: Make CreateMinidumpOnCrash a new name and available on all platforms
minqi
parents: 29678
diff changeset
    51
            "-Xmx64m", "-XX:-TransmitErrorReport", "-XX:-CreateCoredumpOnCrash", Crasher.class.getName());
27173
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    52
        OutputAnalyzer output = new OutputAnalyzer(pb.start());
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    53
        output.shouldNotMatch("error occurred during error reporting \\(printing problematic frame\\)");
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    54
    }
566704615ade 8057135: [TESTBUG] Need a test to cover JDK-8050167
kshefov
parents:
diff changeset
    55
}