hotspot/test/runtime/8001071/Test8001071.sh
changeset 25425 a69d849bb635
parent 25424 000e5d36d0e3
parent 25418 2ca509495f21
child 25427 ad0a3d24d1d6
equal deleted inserted replaced
25424:000e5d36d0e3 25425:a69d849bb635
     1 #!/bin/sh
       
     2 
       
     3 # Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
       
     4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     5 #
       
     6 # This code is free software; you can redistribute it and/or modify it
       
     7 # under the terms of the GNU General Public License version 2 only, as
       
     8 # published by the Free Software Foundation.
       
     9 #
       
    10 # This code is distributed in the hope that it will be useful, but WITHOUT
       
    11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    12 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    13 # version 2 for more details (a copy is included in the LICENSE file that
       
    14 # accompanied this code).
       
    15 #
       
    16 # You should have received a copy of the GNU General Public License version
       
    17 # 2 along with this work; if not, write to the Free Software Foundation,
       
    18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    19 #
       
    20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    21 # or visit www.oracle.com if you need additional information or have any
       
    22 # questions.
       
    23 
       
    24 ## @test
       
    25 ## @bug 8001071
       
    26 ## @summary Add simple range check into VM implemenation of Unsafe access methods 
       
    27 ## @compile Test8001071.java
       
    28 ## @run shell Test8001071.sh
       
    29 ## @author filipp.zhinkin@oracle.com
       
    30 
       
    31 VERSION=`${TESTJAVA}/bin/java ${TESTVMOPTS} -version 2>&1`
       
    32 
       
    33 if [ -n "`echo $VERSION | grep debug`" -o -n "`echo $VERSION | grep jvmg`" ]; then
       
    34         echo "Build type check passed"
       
    35         echo "Continue testing"
       
    36 else
       
    37         echo "Fastdebug build is required for this test"
       
    38         exit 0
       
    39 fi
       
    40 
       
    41 ${TESTJAVA}/bin/java -cp ${TESTCLASSES} ${TESTVMOPTS} Test8001071 2>&1
       
    42 
       
    43 HS_ERR_FILE=hs_err_pid*.log
       
    44 
       
    45 if [ ! -f $HS_ERR_FILE ]
       
    46 then
       
    47     echo "hs_err_pid log file was not found"
       
    48     echo "Test failed"
       
    49     exit 1
       
    50 fi
       
    51 
       
    52 grep "assert(byte_offset < p_size) failed: Unsafe access: offset.*> object's size.*" $HS_ERR_FILE
       
    53 
       
    54 if [ "0" = "$?" ];
       
    55 then
       
    56     echo "Range check assertion failed as expected"
       
    57     echo "Test passed"
       
    58     exit 0
       
    59 else
       
    60     echo "Range check assertion was not failed"
       
    61     echo "Test failed"
       
    62     exit 1
       
    63 fi