Mercurial > hg > graal-jvmci-8
diff test/runtime/7110720/Test7110720.sh @ 6150:1e76463170b3
7110720: Issue with vm config file loadingIssue with vm config file loading
Summary: disabling default config files if -XX:-ReadDefaultConfigFiles
Reviewed-by: phh, jrose, dcubed, dholmes
author | kamg |
---|---|
date | Thu, 29 Mar 2012 18:55:32 -0400 |
parents | |
children | 6acee021f5ac |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/runtime/7110720/Test7110720.sh Thu Mar 29 18:55:32 2012 -0400 @@ -0,0 +1,122 @@ +# +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# + + +# +# @test Test7110720.sh +# @bug 7110720 +# @summary improve VM configuration file loading +# @run shell Test7110720.sh +# + +if [ "${TESTSRC}" = "" ] + then TESTSRC=. +fi + +if [ "${TESTJAVA}" = "" ] +then + PARENT=`dirname \`which java\`` + TESTJAVA=`dirname ${PARENT}` + echo "TESTJAVA not set, selecting " ${TESTJAVA} + echo "If this is incorrect, try setting the variable manually." +fi + +if [ "${TESTCLASSES}" = "" ] +then + echo "TESTCLASSES not set. Test cannot execute. Failed." + exit 1 +fi + +# Jtreg sets TESTVMOPTS which may include -d64 which is +# required to test a 64-bit JVM on some platforms. +# If another test harness still creates HOME/JDK64BIT, +# we can recognise that. + +# set platform-dependent variables +OS=`uname -s` +case "$OS" in + SunOS | Linux ) + FS="/" + RM=/bin/rm + CP=/bin/cp + MV=/bin/mv + ## for solaris, linux it's HOME + FILE_LOCATION=$HOME + if [ -f ${FILE_LOCATION}${FS}JDK64BIT -a ${OS} = "SunOS" ] + then + TESTVMOPTS=`cat ${FILE_LOCATION}${FS}JDK64BIT` + fi + ;; + Windows_* ) + FS="\\" + RM=rm + CP=cp + MV=mv + ;; + * ) + echo "Unrecognized system!" + exit 1; + ;; +esac + + +JAVA=${TESTJAVA}${FS}bin${FS}java + +# Don't test debug builds, they do read the config files: +${JAVA} ${TESTVMOPTS} -version 2>&1 | grep "debug" >/dev/null +if [ "$?" = "0" ]; then + echo Skipping test for debug build. + exit 0 +fi + +ok=yes + +$RM -f .hotspot_compiler .hotspotrc + +${JAVA} ${TESTVMOPTS} -version 2>&1 | grep "garbage in" >/dev/null +if [ "$?" = "0" ]; then + echo "FAILED: base case failure" + exit 1 +fi + + +echo "garbage in, garbage out" > .hotspot_compiler +${JAVA} ${TESTVMOPTS} -version 2>&1 | grep "garbage in" >/dev/null +if [ "$?" = "0" ]; then + echo "FAILED: .hotspot_compiler was read" + ok=no +fi + +$MV .hotspot_compiler hs_comp.txt +${JAVA} ${TESTVMOPTS} -XX:CompileCommandFile=hs_comp.txt -version 2>&1 | grep "garbage in" >/dev/null +if [ "$?" = "1" ]; then + echo "FAILED: explicit compiler command file not read" + ok=no +fi + +$RM -f .hotspot_compiler hs_comp.txt + +echo "garbage" > .hotspotrc +${JAVA} ${TESTVMOPTS} -version 2>&1 | grep "garbage" >/dev/null +if [ "$?" = "0" ]; then + echo "FAILED: .hotspotrc was read" + ok=no +fi + +$MV .hotspotrc hs_flags.txt +${JAVA} ${TESTVMOPTS} -XX:Flags=hs_flags.txt -version 2>&1 | grep "garbage" >/dev/null +if [ "$?" = "1" ]; then + echo "FAILED: explicit flags file not read" + ok=no +fi + +if [ "${ok}" = "no" ]; then + echo "Some tests failed." + exit 1 +else + echo "Passed" + exit 0 +fi +