test/runtime/7107135/Test7107135.sh

Wed, 27 Mar 2013 09:49:51 -0700

author
collins
date
Wed, 27 Mar 2013 09:49:51 -0700
changeset 4831
04d6d4322c6a
parent 4710
9058789475af
child 5453
f9ee986a9fea
permissions
-rw-r--r--

8009152: A number of jtreg tests need review/improvement
Summary: Added a new test_env.txt file to capture common shell variable. Added concept of COMPILEJAVA for use when TESTJAVA is a JRE. If COMPILEJAVA not set then TESTJAVA will be the default with assumption it is a JDK.
Reviewed-by: kvn, brutisso, coleenp

iklam@4710 1 #!/bin/sh
iklam@4710 2
iklam@4710 3 #
iklam@4710 4 # Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
iklam@4710 5 # Copyright (c) 2011 SAP AG. All Rights Reserved.
iklam@4710 6 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
iklam@4710 7 #
iklam@4710 8 # This code is free software; you can redistribute it and/or modify it
iklam@4710 9 # under the terms of the GNU General Public License version 2 only, as
iklam@4710 10 # published by the Free Software Foundation.
iklam@4710 11 #
iklam@4710 12 # This code is distributed in the hope that it will be useful, but WITHOUT
iklam@4710 13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
iklam@4710 14 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
iklam@4710 15 # version 2 for more details (a copy is included in the LICENSE file that
iklam@4710 16 # accompanied this code).
iklam@4710 17 #
iklam@4710 18 # You should have received a copy of the GNU General Public License version
iklam@4710 19 # 2 along with this work; if not, write to the Free Software Foundation,
iklam@4710 20 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
iklam@4710 21 #
iklam@4710 22 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
iklam@4710 23 # or visit www.oracle.com if you need additional information or have any
iklam@4710 24 # questions.
iklam@4710 25 #
iklam@4710 26
iklam@4710 27 ##
iklam@4710 28 ## @test Test7107135.sh
iklam@4710 29 ## @bug 7107135
iklam@4710 30 ## @summary Stack guard pages lost after loading library with executable stack.
iklam@4710 31 ## @run shell Test7107135.sh
iklam@4710 32 ##
iklam@4710 33
iklam@4710 34 if [ "${TESTSRC}" = "" ]
collins@4831 35 then
collins@4831 36 TESTSRC=${PWD}
collins@4831 37 echo "TESTSRC not set. Using "${TESTSRC}" as default"
iklam@4710 38 fi
collins@4831 39 echo "TESTSRC=${TESTSRC}"
collins@4831 40 ## Adding common setup Variables for running shell tests.
collins@4831 41 . ${TESTSRC}/../../test_env.sh
iklam@4710 42
iklam@4710 43 # set platform-dependent variables
iklam@4710 44 OS=`uname -s`
iklam@4710 45 case "$OS" in
iklam@4710 46 Linux)
collins@4831 47 echo "Testing on Linux"
iklam@4710 48 ;;
iklam@4710 49 *)
iklam@4710 50 NULL=NUL
iklam@4710 51 PS=";"
iklam@4710 52 FS="\\"
iklam@4710 53 echo "Test passed; only valid for Linux"
iklam@4710 54 exit 0;
iklam@4710 55 ;;
iklam@4710 56 esac
iklam@4710 57
iklam@4710 58 ARCH=`uname -m`
iklam@4710 59
collins@4831 60 THIS_DIR=.
iklam@4710 61
iklam@4710 62 cp ${TESTSRC}${FS}*.java ${THIS_DIR}
iklam@4710 63 ${TESTJAVA}${FS}bin${FS}javac *.java
iklam@4710 64
iklam@4710 65 gcc -fPIC -shared -c -o test.o -I${TESTJAVA}${FS}include -I${TESTJAVA}${FS}include${FS}linux ${TESTSRC}${FS}test.c
iklam@4710 66 ld -shared -z execstack -o libtest-rwx.so test.o
iklam@4710 67 ld -shared -z noexecstack -o libtest-rw.so test.o
iklam@4710 68
iklam@4710 69
iklam@4710 70 LD_LIBRARY_PATH=${THIS_DIR}
iklam@4710 71 echo LD_LIBRARY_PATH = ${LD_LIBRARY_PATH}
iklam@4710 72 export LD_LIBRARY_PATH
iklam@4710 73
iklam@4710 74 # This should not fail.
iklam@4710 75 echo Check testprogram. Expected to pass:
iklam@4710 76 echo ${TESTJAVA}${FS}bin${FS}java -cp ${THIS_DIR} Test test-rw
iklam@4710 77 ${TESTJAVA}${FS}bin${FS}java -cp ${THIS_DIR} Test test-rw
iklam@4710 78
iklam@4710 79 echo
iklam@4710 80 echo Test changing of stack protection:
iklam@4710 81 echo ${TESTJAVA}${FS}bin${FS}java -cp ${THIS_DIR} Test test-rw
iklam@4710 82 ${TESTJAVA}${FS}bin${FS}java -cp ${THIS_DIR} Test test-rwx
iklam@4710 83
iklam@4710 84 if [ "$?" == "0" ]
iklam@4710 85 then
iklam@4710 86 echo
iklam@4710 87 echo ${TESTJAVA}${FS}bin${FS}java -cp ${THIS_DIR} TestMT test-rwx
iklam@4710 88 ${TESTJAVA}${FS}bin${FS}java -cp ${THIS_DIR} TestMT test-rwx
iklam@4710 89 fi
iklam@4710 90
iklam@4710 91 exit $?

mercurial