kvn@5349: #!/bin/sh kvn@5349: kvn@5349: # Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. kvn@5349: # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. kvn@5349: kvn@5349: # This code is free software; you can redistribute it and/or modify it kvn@5349: # under the terms of the GNU General Public License version 2 only, as kvn@5349: # published by the Free Software Foundation. kvn@5349: kvn@5349: # This code is distributed in the hope that it will be useful, but WITHOUT kvn@5349: # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or kvn@5349: # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License kvn@5349: # version 2 for more details (a copy is included in the LICENSE file that kvn@5349: # accompanied this code). kvn@5349: kvn@5349: # You should have received a copy of the GNU General Public License version kvn@5349: # 2 along with this work; if not, write to the Free Software Foundation, kvn@5349: # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. kvn@5349: kvn@5349: # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA kvn@5349: # or visit www.oracle.com if you need additional information or have any kvn@5349: # questions. kvn@5349: kvn@5349: ## @test kvn@5349: ## @bug 8001071 kvn@5349: ## @summary Add simple range check into VM implemenation of Unsafe access methods kvn@5349: ## @compile Test8001071.java kvn@5349: ## @run shell Test8001071.sh kvn@5349: ## @author filipp.zhinkin@oracle.com kvn@5349: kvn@5349: VERSION=`${TESTJAVA}/bin/java ${TESTVMOPTS} -version 2>&1` kvn@5349: kvn@5349: if [ -n "`echo $VERSION | grep debug`" -o -n "`echo $VERSION | grep jvmg`" ]; then kvn@5349: echo "Build type check passed" kvn@5349: echo "Continue testing" kvn@5349: else kvn@5349: echo "Fastdebug build is required for this test" kvn@5349: exit 0 kvn@5349: fi kvn@5349: kvn@5349: ${TESTJAVA}/bin/java -cp ${TESTCLASSES} ${TESTVMOPTS} Test8001071 2>&1 kvn@5349: kvn@5349: HS_ERR_FILE=hs_err_pid*.log kvn@5349: kvn@5349: if [ ! -f $HS_ERR_FILE ] kvn@5349: then kvn@5349: echo "hs_err_pid log file was not found" kvn@5349: echo "Test failed" kvn@5349: exit 1 kvn@5349: fi kvn@5349: kvn@5349: grep "assert(byte_offset < p_size) failed: Unsafe access: offset.*> object's size.*" $HS_ERR_FILE kvn@5349: kvn@5349: if [ "0" = "$?" ]; kvn@5349: then kvn@5349: echo "Range check assertion failed as expected" kvn@5349: echo "Test passed" kvn@5349: exit 0 kvn@5349: else kvn@5349: echo "Range check assertion was not failed" kvn@5349: echo "Test failed" kvn@5349: exit 1 kvn@5349: fi