Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/test/demo/jvmti/hprof/HeapBinaryFormatTest.java
38840 views
/*1* Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*/222324/* @test25* @bug 4965057 631338126* @summary Test jvmti hprof format=b27*28* @compile -g:source HelloWorld.java ../DemoRun.java29* @build HeapBinaryFormatTest30* @run main HeapBinaryFormatTest HelloWorld31*/3233public class HeapBinaryFormatTest {3435public static void main(String args[]) throws Exception {36DemoRun hprof;3738/* Run JVMTI hprof agent to get binary format dump */39hprof = new DemoRun("hprof", "heap=dump,format=b,logflags=4,file=heapbinaryformat.txt");40hprof.runit(args[0]);4142/* Make sure patterns in output look ok */43if (hprof.output_contains("ERROR")) {44throw new RuntimeException("Test failed - ERROR seen in output");45}4647/* Try a variation */48String vm_opts[] = new String[1];49vm_opts[0] = "-Xmx2100m";50/* Crashes on small Linux machines: (like fyi)51How can I tell how much real memory is on a machine?52hprof.runit(args[0], vm_opts);53*/5455/* Make sure patterns in output look ok */56if (hprof.output_contains("ERROR")) {57throw new RuntimeException("Test failed - ERROR seen in output");58}5960/* Must be a pass. */61System.out.println("Test passed - cleanly terminated");62}63}646566